[英]Passing Multiple Params - Rails Controller
Newb RoR开发人员在这里。
我有一个名为size.rb
的模型,它基本上有各种大小的元素。
现在,在我后来的观点中,我有多组radio_button_tags
。 由于每个集都是独立的,我重命名了每个( shirtsize_ids
, waistsize_ids
等)
现在,我遇到的问题是如何将所有这些不同的size_id
参数传递给控制器。 在一天结束时,它们都被记录为一个名为usersize的联合模型中的size_id
属性,但由于我必须在视图中区分它们(出于单选按钮目的),我被卡住了!
谢谢您的帮助
视图
<% Size.select { |size| size.category == 'waist' }.sort.each do |size| %>
<%= radio_button_tag 'waistsize_ids[]', size.id, false, :id => "waistsizing-#{size.id}" %>
<% Size.select { |size| size.category == 'waist' }.sort.each do |size| %>
<%= radio_button_tag 'inseamsize_ids[]', size.id, false, :id => "inseamsizing-#{size.id}" %>
调节器
def create
@user_size = UserSize.new(params[:user_size])
params = {"waistsize" => {'id' => 'size.id'}}
params.each do |size|
UserSize.create(:size_id => size.id, :user_id => current_user.id)
end
end
radio_button
与radio_button_tag
可能是更好的选择:
<%= radio_button :waistsize, :id, size.id, :checked => false, :id => "waistsizing-#{size.id}" %>
<%= radio_button :inseamsize, :id, size.id, :checked => false, :id => "inseamsizing-#{size.id}" %>
# => params = { ..., "waistsize"=>{"id"=>"xyz"}, "inseamsize"=>{"id"=>"xyz"} }
然后,在控制器中:
def create
@user_size = UserSize.new(params[:user_size])
UserSize.create(:size_id => params[:waistsize][:id], :user_id => current_user.id)
UserSize.create(:size_id => params[:inseamsize][:id], :user_id => current_user.id)
end
UserSize模型是否类似于'size_type',或者为什么你有'waistsize'和'inseamsize'等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.