概要ビューとシーケンス ビューの 2 つのメイン ビューを持つ Rails アプリを使用しています。ユーザーはどちらのビューでもデータを入力できます。両方のビューに同じフォーム ヘルパーを使用していますが、create アクションの redirect_to でユーザーのコンテキストを尊重する必要があります。そこで、「track」という hidden_field_tag を渡します。
コントローラー内の「トラック」の値にアクセスできないようです。
フォームは次のとおりです。
<%= form_for([@mission, @mission.stickies.build]) do |f| %>
<div class="field">
<%= f.text_field :name, :size => 60 %>
<%= f.hidden_field :kind, :value => kind %>
<%= hidden_field_tag :track, :value => track %>
<class="actions">
<br><%= f.submit "Add to " + kind.pluralize.capitalize %>
</div>
<% end %>
そして、ビューの 1 つでそれを呼び出す場所は次のとおりです。
<%= render :partial => "stickies/form" , :locals => { :kind => "driver", :track => 'main' } %>
パラメータダンプは次のとおりです(別の呼び出しから):
{"utf8"=>"✓",
"authenticity_token"=>"N3IXwNQosOfxw1ZcpfFPOLPKzHbvNyaBhAiP3ftT9GY=",
"sticky"=>{"name"=>"Tesssksjd argghh.",
"kind"=>"success"},
"track"=>"{:value=>\"sequence\"}",
"commit"=>"Add to Successes",
"mission_id"=>"32"}
そして、これが私の作成コントローラーの関連コードです。
if params[:track][:value] == "main" then
redirect_to mission_path(@mission) + '#' + @sticky.kind.pluralize
elsif params[:track][:value] == "sequence" then
redirect_to mission_stickies_path(@mission, :kind => @sticky.kind)
end
構文、コンパレーター、または "track"=>"{:value=>\"sequence\"}" で表される値にアクセスするために必要なものが見つからないようです。
どんな助けや指針も大歓迎です。Rails と Ruby は初めてで、これが初めてのアプリです。