0

NewbRoR開発者はこちら。

size.rb基本的にさまざまなサイズ要素を持つというモデルがあります。

さて、その後のビューでは、複数のセットがありradio_button_tagsます。各セットは独立しているので、それぞれの名前を変更しました(shirtsize_ids、、waistsize_idsなど)

今、私が抱えている問題は、これらのさまざまなsize_idパラメーターをすべてコントローラーに渡す方法です。結局のところ、それらはすべてsize_idusersizeと呼ばれる共同モデルの属性として記録されますが、ビューでそれらを区別する必要があったため(ラジオボタンの目的で)、行き詰まりました!

助けてくれてありがとう

見る

<% 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
4

2 に答える 2

2

radio_buttonvsradio_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
于 2012-10-04T20:39:24.337 に答える
0

UserSize モデルは「size_type」のようなものを持っていますか、それともなぜ「waistsize」や「inseamsize」などを持っているのですか?

于 2012-10-04T19:38:35.850 に答える