铁轨forms的隐藏的领域

我的项目视图中有这个表单。 我需要将task_id传递给某个控制器,但是日志似乎没有接收到参数。 我不知道问题是什么。

  {:action=>"index", :controller=>"statistics"}, :html => {:class => "nifty_form", :method => "GET"} do |f| %>  task.id%>   

您在<%之后缺少= 。 只要您希望结果出现在HTML上,就需要等号,因此它可以与字段标签方法或渲染一起使用。 例如,在使用if时不应该使用等号,因为这不是你想要打印的(好吧,它可以,但很可能不是)

 <%= form_for :taskid, :url => {:action=>"index", :controller=>"statistics"}, :html => {:class => "nifty_form", :method => "GET"} do |f| %> <%= f.hidden_field :task_id, :value => task.id%> <%= f.submit "اختر مهمة لاظهار احصائياتها منفرده"%> <% end %> 

但是,正如@AntonGrigoriev指出的那样,如果你有这样的对象,你应该使用一个对象

 <%= form_for @task, :url => {:action=>"index", :controller=>"statistics"}, :html => {:class => "nifty_form", :method => "GET"} do |f| %> 

或者你可以简单地使用hidden_​​field_tag

 <%= hidden_field_tag :task_id, task.id %> 

嗨,请使用以下代码测试以在rails中发送隐藏值,我已经尝试并为我的应用程序之一工作:

hidden_field_tag(name, value = nil, options = {}) public eg:

 <%= hidden_field_tag(:field_name,value=@offer_status)%>