วิธีที่ถูกต้อง (หากคุณไม่พยายามรีเซ็ตค่าของอินพุต hidden_field) คือ:
f.hidden_field :method, :value => value_of_the_hidden_field_as_it_comes_through_in_your_form
ที่ไหน :method
เป็นวิธีการที่เรียกว่าเมื่อผลวัตถุที่อยู่ในค่าที่คุณต้องการ
ดังนั้นทำตามตัวอย่างด้านบน:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
รหัสที่ใช้ในตัวอย่างจะรีเซ็ตค่า (: title) ของ @movie ที่ส่งผ่านโดยแบบฟอร์ม หากคุณต้องการเข้าถึงค่า (: ชื่อเรื่อง) ของภาพยนตร์แทนที่จะทำการรีเซ็ตให้ทำดังนี้:
= simple_form_for @movie do |f|
= f.hidden :title, :value => params[:movie][:title]
= f.button :submit
ใช้คำตอบของฉันอีกครั้งเท่านั้นคือคุณไม่ต้องการรีเซ็ตค่าที่ส่งโดยผู้ใช้
ฉันหวังว่านี่จะสมเหตุสมผล
= f.input :title, :as => :hidden, :input_html => { :value => "some value" }