0

我需要使用rails中的简单表单为复选框设置默认的选中/未选中值,假设我有一个具有“订阅”属性的用户模型。所以在他的个人资料页面上,我想输出一个复选框,如果它被选中,它将传递“是”值。到目前为止,我有:

= simple_form_for @user do |user|
= user.input :subscribed, as: :boolean, label: false, inline_label: 'Do you want to subscribe?', value: "yes"

但它仍然显示 1 作为复选框的值...

4

1 回答 1

1

对于类似的布尔属性:subscribed,您确实应该将值存储为布尔值。存储'yes''no'不是最好的主意。我的回答将反映这种更好的做法。

要获取默认true值(默认选中该框),您可以为模型中的:subscribed属性提供默认值User

after_initialize do
  subscribed = true if subscribed.nil?
end

这将导致未明确取消订阅的用户默认选中该复选框。

于 2012-12-09T03:31:18.063 回答