自定义选择的简单表单

时间:2017-12-08 17:49:13

标签: ruby-on-rails ruby select simple-form-for

我有2个模型网站和Ad_tag

网站has_many ad_tags

ad_tag belongs_to网站

在我的ad_tag中我有一个名为'attach'的bool字段

我需要创建simple_form_for多个选择,如果附加是真的 - 将选择行,但我不能。请帮帮我

我的尝试:

= simple_form_for @website, method: :put do |f|
  = f.input :ad_tag_ids, collection: @website.ad_tags.google.map { |a| [a.name, a.attached ? a.id : nil] }, as: :select, input_html: { multiple: true, size: 30 }
  = f.button :submit, class: 'btn-primary' 

但是这种方法无法为未附加的记录设置ID。

1 个答案:

答案 0 :(得分:0)

我用rails form helpers做了。 (我还需要将它们分组。

  = f.select :ad_tag_ids,  grouped_options_for_select(@website.ad_tags.google.map { |a| [a.name, a.google_meta['status'], a.id, { selected: a.attached }]}.group_by(&:second).sort), { prompt: 'Please select'}, { multiple: true, size: 30, class: 'form-control select optional' }