我有一个 Rails 应用程序,它有两个主要视图:概览视图和序列视图。用户可以在任一视图中输入数据。我对两个视图都使用相同的表单助手,但我希望创建操作中的 redirect_to 尊重用户的上下文。所以我传递了一个名为“track”的 hidden_field_tag。
我似乎无法在我的控制器中访问“track”的值。
这是表格:
<%= 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 %>
这就是我在其中一种观点中所说的:
<%= 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 的新手,这是我的第一个应用程序。