Ответ 1
Вам не хватает =
после <%
. Знак равенства необходим, когда вы хотите, чтобы результат появился в 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%>
<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 %>