显示循环元素的复选框

时间:2016-08-30 12:40:31

标签: ruby-on-rails forms checkbox simple-form

我有一个表单来创建新配方。 每个食谱可以有多个标签。 我想显示所有标签的可能性,并允许用户检查或取消选中它们。 我能够有漂亮的标签显示,但我不知道如何将它们变成复选框... 它们必须作为数组保存在字段all_tags中。

= simple_form_for @recipe, html: {multipart: true} do |f|
  - if @recipe.errors.any?
    #errors
      %p
        = @recipe.errors.count
        prohibited this recipe from being saved:
      %ul
        - @recipe.errors.full_messages.each do |message|
          %li= message
  .row
    .panel-body
      = f.input :title, input_html: {class: 'form-control'}
      = f.input :description, placeholder: 'Dites nous ce que vous aimez dans cette recette ? où l\'avez-vous découverte ? avec quoi l\'accompagnée vous ? ...', input_html: {class: 'form-control'}
      = f.input :image, input_html: {class: 'form-control'}
      .tag-wrapper
        - @tags.each do |tag|
          %ul
            %li.tag.fa.fa-plus
              = tag.name

1 个答案:

答案 0 :(得分:0)

试试这个:

.tag-wrapper
  - @tags.each do |tag|
    = check_box_tag tag.name

编辑:

如果您需要将它们保存为数组,请尝试以下解决方案:

= f.input :all_tags, :as => :check_boxes, :collection => @tags