ruby on rails将实例变量从视图传递给控制器

时间:2012-06-27 18:20:20

标签: ruby-on-rails parameter-passing

我认为我有以下形式:

我在此视图的上方某处有一个实例变量@selected_folder

<%= form_for :workflow_selection, :remote => true, :method => "get", :url => {:action => "final_submission"} do |f| %>  

            <p> Check the workflows needed and then click on the button with folder name</p>

            <% @workflow_map[@selected_folder].each do |i| %> 

            <p><%= f.check_box(i)%> <%= f.label(i, i)%><br /><p>
            <% end %>

            <br />
            <p><%= f.submit @selected_folder%></p> 
            <% end %>

我想将提交按钮标记为“submit',并且仍然可以将@selected_folder实例变量传递给form_for标记中提到的final_submission操作

我尝试了各种选项,如

<%= form_for :workflow_selection, :remote => true, :method => "get", :selected_folder => @selected_folder
    :url => {:action => "final_submission"} do |f| %>  

我尝试创建一个选择下拉列表并将其从视图中隐藏但仍然尝试在单击提交按钮后传递它。

还有一些选择......

他们都没有工作

请帮忙。

1 个答案:

答案 0 :(得分:2)

如果您想在表单提交中传递@selected_folder,可以添加hidden_​​field_tag。

根据Rails文档:

hidden_field_tag(name, value = nil, options = {})

所以在你的情况下

<%= hidden_field_tag 'selected_folder', @selected_folder %>

在workflow_selection中,selected_folder将出现在表单哈希中。