我创建了一个小表单,允许用户提交“意见”。这可以是积极的或消极的。 我在DB上得到了一个'正'布尔字段。如果是正面则应该是真的,如果是负面则应该是假的。
=form_for @opinion do |f|
= f.hidden_field :event_id
%p
=f.radio_button(:positive, :checked => (:positive == 1))
=f.label :true, 'Positive'
=f.radio_button(:positive, :checked => (:positive == 0))
=f.label :false, 'Negative'
%p
=f.label 'Body'
=f.text_area :body
=f.submit
然而,一切都是正确的,但积极的领域。我做错了什么?
这就是我得到的
Parameters: {"utf8"=>"✓", "authenticity_token"=>"EgFB9zohTA93ClNAQpS0qcsEivSCe1imjDUuw/e/YYA=", "opinion"=>{"event_id"=>"31", "positive"=>"{:checked=>false}", "body"=>"asdasasdasd"}, "commit"=>"Create Opinion", "locale"=>"en"}
答案 0 :(得分:1)
删除:checked
内容。如果您的数据库字段是布尔值,则rails form_for知道要检查哪个f.radio_button。
答案 1 :(得分:1)
当属性的值等于提供的值
时,Rails将添加'checked'=f.radio_button :positive, 1
=f.label :true, 'Positive'
=f.radio_button :positive, 0
=f.label :false, 'Negative'
请查看doc