我有一个表格(使用simple_form_for
),如下所示:
= simple_form_for :search, url: places_path do |p|
= p.input :group_name, :as => :autocomplete, :source_array => @groups.map { |g| g.name }
= p.input :start_date, placeholder: Time.now.strftime("%Y-%m-%d"), :input_html => { :id => 'start_date_picker' }
= p.input :end_date, placeholder: Time.now.strftime("%Y-%m-%d"), :input_html => { :id => 'end_date_picker' }
= p.input :computer_lab, as: :boolean, boolean_style: :inline
= p.button :submit
当用户在第一个输入group_name
中输入内容时,他会得到建议而且没关系,但我需要的是能够传递不同的值(来自模型的不同实例变量)而不是内部输入。
这是我的Group
模型:
class Group
include ActiveModel::Model
attr_accessor :id, :name, :type, :type_name
end
当用户点击Submit
时,我需要传递:id
而不是:name
。 怎么样??我被困在这里...我的临时解决方案是通过:name
并在places_path
下再次获得所有分组,并寻找具有提供名称的组以获得它id ...我觉得我正在尝试重新发明轮子。
答案 0 :(得分:0)
请发布你的group_controller.rb。但似乎您的参数未设置为id。在控制器中尝试这样的事情:
def create
@group = Group.new(params[:id])
# followed by your save arguments
end
希望这有帮助