form_for
のオブジェクトを作成してselect_tag
を内部に入れると、選択した値がモデルハッシュ内のハッシュとしてparamsに送られると予想されます。 params[:model][:attribute1]
です。なぜなら、これは過去に私が実際にテキストフィールドを持つ基本的なフォームがどのように動作していたからですか。ここでは該当しません。select_tagを持つmodel_forモデルオブジェクトはどのようにパラメータをネストしますか?
<%= form_for(@vote, url: judgment_votes_path(@vote.judgment)) do |i| %>
<%= select_tag(:yayornay, options_for_select(%w[yes no undecided stand_aside])) %>
<div class='actions'>
<%= i.submit 'Save vote' %><br />
</div>
<% end %>
上記は私にparams[:yayornay]
です。 Apidockのform_forへのエントリーは、私の混乱を払拭するためにはほとんど分かりませんでした。私のselect_tag
のようなパラメータをparams[:vote][:yayornay]
のように簡単に構築する方法はありますか?
<%= i.select :yayornay, ... %>
ORこのようselect_tagを使用します:
<%= select_tag "vote[yayornay]", ... %>
あなたが "i.select" を使用すると、レールが構築し、あなたの場合は
この質問には参考になる優れた例があります。http://stackoverflow.com/questions/9297941/creating-a-drop-down-list-in-rails – ggentzke