我需要使用rails中的简单表单为复选框设置默认的选中/取消选中值,假设我有一个具有“订阅”属性的用户模型。因此,在他的个人资料页面上,我想输出一个复选框,如果选中它,它将传递“是”值。到目前为止我有:
= simple_form_for @user do |user|
= user.input :subscribed, as: :boolean, label: false, inline_label: 'Do you want to subscribe?', value: "yes"
但它仍然显示1作为复选框的值......
答案 0 :(得分:1)
对于像:subscribed
这样的布尔属性,你真的应该将值存储为布尔值。存储'yes'
或'no'
不是最佳选择。 我的回答将反映出这种更好的做法。
要获取默认true
值(默认选中此框),您可以为:subscribed
模型中的User
属性提供默认值
after_initialize do
subscribed = true if subscribed.nil?
end
这将导致默认情况下为未明确取消订阅的用户选中复选框。