Cách chính xác (nếu bạn không cố gắng đặt lại giá trị của đầu vào hidden_field) là:
f.hidden_field :method, :value => value_of_the_hidden_field_as_it_comes_through_in_your_form
Ở đâu :method
là phương thức mà khi được gọi trên đối tượng sẽ dẫn đến giá trị bạn muốn
Vì vậy, theo ví dụ trên:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
Mã được sử dụng trong ví dụ sẽ đặt lại giá trị (: title) của @movie được truyền qua biểu mẫu. Nếu bạn cần truy cập giá trị (: title) của phim, thay vì đặt lại nó, hãy làm điều này:
= simple_form_for @movie do |f|
= f.hidden :title, :value => params[:movie][:title]
= f.button :submit
Một lần nữa chỉ sử dụng câu trả lời của tôi là bạn không muốn đặt lại giá trị được gửi bởi người dùng.
Tôi hy vọng điều này có ý nghĩa.
= f.input :title, :as => :hidden, :input_html => { :value => "some value" }