27

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

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

2 回答 2

59

你在=之后失踪了<%。每当您希望结果出现在 HTML 上时都需要等号,因此它与字段标签方法或渲染一起使用,例如。例如,在使用 a 时不应使用 equal 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%>
  <td><%= f.submit "اختر مهمة لاظهار احصائياتها منفرده"%></td>
<% 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 %>
于 2013-04-29T14:02:45.123 回答
-4

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

hidden_field_tag(name, value = nil, options = {})公共例如:

<%= hidden_field_tag(:field_name,value=@offer_status)%>
于 2015-07-02T14:54:37.923 回答