2013-04-29 98 views
24

我在我的項目視圖中顯示了此表單。我需要將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 %> 
+0

檢查HTML源代碼,以及看到該值實際上有。 – 2013-04-29 13:50:22

+0

什麼是:taskid?這只是一個模型,而不是一個對象。它的屬性是空的。將控制器中存在的對象@task傳遞給此表單,或使用hidden_​​field_tag – 2013-04-29 13:54:03

回答

56

=您在<%之後缺失。例如,只要希望結果出現在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 %> 
-4

嗨請下面的代碼本身測試第二軌道中隱藏的價值,我曾嘗試和我的應用程序的一個工作:

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

<%= hidden_field_tag(:field_name,[email protected]_status)%>