Rails,simple_form,如何在单选按钮中设置默认选定项目

Sai*_*aev 0 ruby-on-rails simple-form

如何在这里将“true”设置为默认值?

selected: true选项不起作用

<%= f.input :smoke, label: "Smoke", :collection => [[true, "You can"], [false, "You can't"]],
         label_method: :last, value_method: :first, as: :radio_buttons, selected: true %>
Run Code Online (Sandbox Code Playgroud)

dim*_*uch 5

您有什么理由避免在模型或控制器中设置默认值?也许可以使用 simple_form 在视图级别将“true”设置为默认值,但之后您必须为新/编辑操作创建两个单独的表单,或者向视图代码添加额外的逻辑(以正确显示“默认”true 或实际值)价值)。

否则,向控制器添加单行可能可以解决问题,并且我没有看到任何副作用:

def new
  @model = Model.new
  @model.smoke = true # 'true' will be default
  ...
Run Code Online (Sandbox Code Playgroud)