2013-04-29 32 views
24

Tôi có biểu mẫu này trong chế độ xem trong dự án của tôi. Tôi cần phải vượt qua các task_id đến một bộ điều khiển nhất định, nhưng đăng nhập dường như không nhận được các thông số. Tôi không biết vấn đề là gì.Trường ẩn trong đường ray dạng

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

Kiểm tra mã nguồn HTML cũng như để thấy rằng giá trị thực sự ở đó. –

+0

Điều gì là: taskid? Nó chỉ là một mô hình, không phải là một đối tượng. Và các thuộc tính của nó trống. Chuyển đối tượng tồn tại @task từ bộ điều khiển sang biểu mẫu này hoặc sử dụng hidden_field_tag –

Trả lời

56

Bạn đang thiếu trên = sau <%. Dấu bằng là cần thiết bất cứ khi nào bạn muốn kết quả xuất hiện trên HTML, vì vậy nó được sử dụng với các phương thức thẻ trường hoặc render, ví dụ. Bạn không nên sử dụng bình đẳng khi sử dụng một if, ví dụ, vì đây không phải là những gì bạn muốn in (tốt, nó có thể được, nhưng rất có thể nó không phải là)

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

Tuy nhiên, như @AntonGrigoriev chỉ ra, bạn nên sử dụng một đối tượng nếu bạn có, như thế này

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

hoặc bạn chỉ có thể sử dụng hidden_field_tag

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

Hi xin vui lòng kiểm tra với mã sau đây để se nd giá trị ẩn trong đường ray, tôi đã cố gắng và làm việc cho một trong những ứng dụng của tôi:

hidden_field_tag(name, value = nil, options = {}) công ví dụ:

<%= hidden_field_tag(:field_name,[email protected]_status)%> 
Các vấn đề liên quan