如何使用simple_form预选关联复选框

Mik*_*ike 17 checkbox ruby-on-rails associations simple-form

我有这段代码,同时使用simple_form:

= simple_form_for :report do |f|
  = f.association :presets,
    :collection => @account.presets.collect{ |p| [p.name, p.id] },
    :as => :check_boxes
Run Code Online (Sandbox Code Playgroud)

我如何预先选择一个特定的preset复选框,知道这个复选框的ID preset是在params[:preset_id]哪里传递的?复选框的HTML name属性是report[preset_ids][].

Cla*_*esi 29

根据simple_form文档:

关联助手只是调用引擎下的输入,因此所有可用的选项:select,:radio和:check_boxes也可用于关联.此外,您可以手动指定集合,以及提示:

   f.association :company, :collection
      => Company.active.all(:order => 'name'), :prompt => "Choose a Company"
Run Code Online (Sandbox Code Playgroud)

所以,你应该使用这样的东西:

= simple_form_for :report do |f|
  = f.association :presets,
    :collection => @account.presets.collect{ |p| [p.name, p.id] },
    :as => :check_boxes,
    :checked => params[:preset_id]
Run Code Online (Sandbox Code Playgroud)

我没有使用simple_form的经验,但这可能有帮助:)

  • using:checked => [1,2,3]适用于复选框 (3认同)
  • 这个'选中'选项在哪里记录?无法找到这方面的文档 (2认同)

Joh*_*man 25

每个人的更新.:选择的选项对我不起作用.我用了:

:checked => [2, 3]
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助某人.

  • 同样适用于:disabled => [1,2] (3认同)
  • 它做了.谢谢! (2认同)