Campo oculto en forma de Rails.

Tengo este formulario en una vista en mi proyecto. Necesito pasar el task_id de task_id a un determinado controlador, pero el registro no parece estar recibiendo los parámetros. No sé cuál es el problema.

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

Falta en = después de <% . El signo igual es necesario siempre que desee que el resultado aparezca en el HTML, por lo que se utiliza con los métodos de tags de campo o el procesamiento, por ejemplo. No debe usar el igual cuando use un if , por ejemplo, porque esto no es lo que quiere imprimir (bueno, puede ser, pero lo más probable es que no lo sea)

 <%= 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 %> 

Sin embargo, como señaló @AntonGrigoriev, debes usar un objeto si tienes, como este

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

o simplemente puedes usar el hidden_field_tag

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

Hola, pruebe con el siguiente código para enviar un valor oculto en los Rails. He intentado y trabajado para una de mis aplicaciones:

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

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