Tag: forms

以railsforms维护数组的顺序

我有3个模型(Workout,WorkoutSet,WorkoutStep),具有以下关联: 锻炼有很多套 WorkoutSet有很多WorkoutSep WorkoutStep有一系列video(称为video_usage[] ) 使用simple_form和cocoon我制作表单来编辑这样的关联但是,在编辑锻炼时,在最深层次(WorkoutStep的video数组)中,顺序似乎不是常数,而是按顺序排列(猜测) )最后一次修改属性(在这种情况下,修改后正在更改属性,例如选择另一个video)。 我希望video数组在编辑之间保持不变。 这就是我的表单的样子: _workout_sets_fields.html.haml .nested-fields = f.simple_fields_for :main_video_usage do |mv| = render ‘main_video_usage_fields’, f: mv .steps{ :style => “margin-left: 680px” } = link_to_remove_association ‘remove step’, f = link_to_add_association ‘add video’, f, :main_video_usage _main_video_usage_fields.html.haml .nested-fields = f.collection_select :video_id, Video.all.order(:title), :id, :title

不保存,没有错误消息

在表单提交时,它告诉我它已成功创建,但它没有显示任何已提交的数据。 数据库是空的。 它显示“空”值,并且在我应该能够编辑数据的实际屏幕上显示相同的值。 这是一个截图 更新:我认为问题是它正在发出GET请求,但我不知道如何修复它。 这是我点击提交时我的服务器屏幕截图 这是设置 在results_controller.rb的索引操作中,我有 def index @results = Result.all @blob = Sex.new //==@blob = Sex.new is the one I’m focussing on… respond_to do |format| format.html # index.html.erb format.xml { render :xml => @results } end end 在views / results / index中,我有表单 ` 1. solicitor exam was fixed?: 在sexes_controller.rb的创建动作中,我有 def create @sex […]

Rails表示另一个模型

我有一个页面/联系人的表单,并希望将数据发送到另一个名为ContactForm而不是Pages模型的模型,所以我想这是在基本约定之外..它看起来像这样: :post do |f| %> … … class PagesController < ApplicationController def contact @contact_form = ContactForm.new(contact_form_params) end end 我创造了这条路线 post ‘pages/contact’ => ‘pages#contact’ 这一切似乎工作正常,但没有记录数据。 在本地服务器,我可以看到正在处理POST,但没有做任何SQL事务..为什么?? Started POST “/pages/contact” for ::1 at 2016-06-22 15:58:47 -0300 Processing by PagesController#contact as HTML Processing by PagesController#contact as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”WIb3jXmkxP0mxRPSPU0Yj050fFwCQOlm9FatCFiGuSrEaoRNXNtmn/w0ZOMtsZsRUwjq4NQweV+d56T5nFxL5Q==”, “contact_form”=>{“name”=>”Diego”, “phone”=>””, “email”=>””, “subject”=>””, “message”=>”Hoal”}, “commit”=>”Create Contact form”} […]

如何使用rails和javascript一个提交按钮提交两个表单

我需要允许用户在要求他们提供帐户详细信息之前键入评论并提交。 提供这些详细信息后,它们将用于创建新用户,并且他们编写的注释也会提交并属于此新用户。 目前,我根本无法弄清楚如何在两个表单上触发提交操作,将所有信息传递给服务器以执行这些任务。 基本上我想要的是: 用户撰写评论,提交 “提交”按钮显示联系信息表单 用户填写此内容,提交 提交两份表格的数据 是)我有的: _feedback.html.erb false, :input_html => { :maxlength => ‘500’, :rows => ‘4’, :placeholder => ‘…’} %> show.html.erb { :multipart => true }, defaults: { label: false, required: true }) do |f| %> { :placeholder => ‘Your Name’, :id => ‘name’} %> { :placeholder => ‘Your Email’, :id […]

如果字段对于嵌套表单不为空,则Rails仅保存记录

在我的Rails应用程序中,我有一个Kid模型和一个Allergy模型,其中一个Kid has_many Allergies 。 我还创建了一个嵌套的表单,以便在创建一个新kid时, allergy字段是kidforms。 这就是我在我的kid控制器中所拥有的: def new @kid = Kid.new allergy = @kid.allergies.build end 这是我的index.html.erb嵌套在我的创建kid表单中: 这适用于在Allergy模型中插入一个allergy记录,但我希望能够列出多达5个allergy输入,并且只插入用户填充的那些,因为kid可能有不同程度的allergies 。 我用过这篇文章: http : //vicfriedman.github.io/blog/2015/07/18/create-multiple-objects-from-single-form-in-rails/ 但是,我无法使这个工作成为嵌套表单。 感谢所有帮助!

如果空白Rails不显示字段

在我的rails表中,我有一个text_field ,其中my_website ,所以 等show.html.erb有<a href="https://stackoverflow.com/questions/15936967/dont-show-field-if-blank-rails/”>Go to my website 这很好 但是说用户没有在my_website的表单中输入任何内容,我将如何使其工作以便<a href="https://stackoverflow.com/questions/15936967/dont-show-field-if-blank-rails/”>Go to my website这一部分隐藏用户不输入my_website 基本上是这样的 if user puts in my_website, show <a href="https://stackoverflow.com/questions/15936967/dont-show-field-if-blank-rails/”>Go to my website else 没什么

如何使用ajax和jquery基于用户输入显示选择

想想下面的自行车租赁。 有人填写表格并获得分配给他们的自行车,他们可以租用和借用一段时间。 我遇到的问题是我试图向那些想要租用自行车的人展示在提交表格之前可用的自行车。 以下是我使用ajax的尝试。 我没有错误,但我的选择没有更新。 请求控制器方法如下 def new @bikes = Bike.available_based_on_request_date(params[:Borrow_date], params[:Return_date]) @new_request = Request.new end 下面的create方法(使用临时解决方法,重新加载表单并提供有关可用性的警告。) def create @request = Request.new(request_params) available_bikes = @request.new_request(current_user.id) if (available_bikes >= @request.number_of_bikes_wanted) && @request.save redirect_to root_path else flash[:warning] = “You have requested more bikes than available. There are only #{available_bikes} bikes available” redirect_to new_request_url end end 请求控制器中的参数 def […]

Rails模型设计决策

所以为了简化我的工作,我的应用程序中有3个主要模型; 城市,餐厅和食谱。 一个城市有许多餐馆,餐厅有很多食谱。 每个城市都有一个列出该城市餐馆的页面,同样每个餐馆页面都有其页面中列出的食谱。 在我的城市页面中还有一个“添加新餐厅”按钮,当用户点击此按钮时,用户将被带到新的餐馆页面,其中包含以下链接: 但是这个页面是一个通用页面,用户可以将餐厅添加到任何城市,我如何修改我的设计,以便新的餐厅表单只会添加一个新的餐厅到那个城市。 编辑:谢谢你的回答。 所以现在这是我的餐厅创建方法..因为new_restaurant_path是一个表单,它有其他参数而不仅仅是一个城市。 所以我明白我可以通过@city = City.find(params [:city])找出我餐厅的城市,但是如何将此添加到此行的其余参数中@restaurant = Restaurant.new( PARAMS [:餐厅]) def create @restaurant = Restaurant.new(params[:restaurant]) end

将Rails表单部分嵌入到另一个页面中

我正在构建一个带有联系我们页面的rails 4.2.0应用程序(此页面确实有一个半空控制器)。 我试图从另一个控制器嵌入一个表单部分。 这是代码(减去文本): 当我运行这个时,我得到错误’forms中的第一个参数不能包含nil或为空’。 我的查询表格看起来像一个基本的铁轨forms: prohibited this enquiry from being saved: 可能是错误的原因是什么? 或者是否有更好的方法将视图嵌入另一个视图? 更新/编辑: 这是路线: devise_for :users resources :rooms do resources :viewings end resources :rmcats resources :extras resources :extracats resources :enquiries root :to => redirect(‘/pages/home’) get ‘pages/home’ get ‘pages/contactus’ 和查询控制器: class EnquiriesController < ApplicationController before_action :set_enquiry, only: [:show, :edit, :update, :destroy] # GET /enquiries […]

通过读取yaml文件在rails中创建表单

我正在尝试通过读取yml文件来创建表单。 我能够正确读取文件,但我不确定如何将哈希中的项正确放入创建表单的代码中。 例如,我的yml文件读取类似的内容 – f.label: :email f.email_field: :email – f.label: :name f.text_field: :name 我像这样读取控制器中的yml文件 @form_format = YAML::load(File.open(‘public/grant.yml’)) 而我视图中的代码就是这样的 我知道这是位不正确但我不知道如何让它读取,例如从散列中的值。 我试图解决这个问题的总体原因是因为我需要创建许多(100多个)独特的表单,我认为我能做到这一点的最好方法是在每个表单的yml文件中创建一个唯一的“模式”阅读架构以创建字段。 如果还有其他方法可以做得更好,我会全力以赴。 我对RoR很新,但我已经广泛搜索并且没有找到太多。 谢谢!