私のプロジェクトのビューにこのフォームがあります。 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 %>
=
の後<%
。結果をHTMLに表示する場合は常に等号が必要であるため、たとえば、フィールドタグメソッドやレンダリングで使用されます。たとえば、if
を使用する場合は、これを印刷したいものではないため、equalを使用しないでください(そうすることは可能ですが、ほとんどの場合そうではありません)
<%= 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 %>