2013-04-29 6 views
24

Ich habe dieses Formular in einer Ansicht in meinem Projekt. Ich muss die task_id an einen bestimmten Controller übergeben, aber das Protokoll scheint nicht die Parameter zu empfangen. Ich weiß nicht, was das Problem ist.Verstecktes Feld in Schienenform

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

Überprüfen Sie den HTML-Quellcode als auch zu sehen, dass der Wert tatsächlich da ist. –

+0

Was ist: taskid? Es ist nur ein Modell, kein Objekt. Und seine Attribute sind leer. Übergeben Sie das Objekt @task vom Controller an dieses Formular oder verwenden Sie hidden_field_tag –

Antwort

56

Sie fehlen auf = nach <%. Das Gleichheitszeichen wird immer dann benötigt, wenn das Ergebnis im HTML-Code angezeigt werden soll. Daher wird es beispielsweise mit den Methoden field fields oder render verwendet. Sie sollten nicht die gleichen verwenden, wenn ein if, beispielsweise verwenden, denn dies ist nicht das, was Sie drucken möchten (na ja, kann es sein, aber wahrscheinlich ist es nicht)

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

jedoch als @AntonGrigoriev wies darauf hin, sollten Sie ein Objekt verwenden, wenn Sie diese

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

haben, wie oder Sie können einfach die hidden_field_tag

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

Hallo bitte testen mit folgenden Code verwenden se nd versteckten Wert in Schienen, ich habe versucht, und arbeitete für eine meiner Anwendung:

hidden_field_tag(name, value = nil, options = {}) öffentliche zB:

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