Dre*_*rew 27 checkbox ruby-on-rails ruby-on-rails-3
我正在使用Simple_Form和Rails 3,这很棒.我有一个简单的问题.我可以创建一个复选框,f.input
如果类型是幕后布尔值.但是,我希望它被预选为真.
有没有办法通过视图这样做?
Gav*_*Gav 98
如果您不想或不能更新您的迁移以执行'PerfectlyNormal的答案',那么您可以将以下内容添加到f.input的末尾:
:input_html => { :checked => true }
Run Code Online (Sandbox Code Playgroud)
所以,它会成为:
= f.input :some_flag, :input_html => { :checked => true }
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
Per*_*mal 16
最好的方法是在模型中设置默认值,例如
create_table :my_table do |t|
...
t.boolean :my_boolean, :default => true
...
end
Run Code Online (Sandbox Code Playgroud)
这simple_form
将拿起,并设置为默认检查的复选框.
一种更简单的方法是按照Dave的说法进行操作,并将值强制为1,但如果验证失败,并且再次显示该表单,则无论表单何时提交,它都将被检查.
它为我工作,只检查一个复选框,值为"无"
<%= f.input :notify, label: "Notification", as: :check_boxes, collection: ["None", "Daily", "Weekly", "Monthly", "Quarterly", "Yearly"], :item_wrapper_class => 'inline', :checked => ["None", true] %>
Run Code Online (Sandbox Code Playgroud)