Ruby on rails 显示循环元素中的复选框

Ruby on rails 显示循环元素中的复选框,ruby-on-rails,forms,checkbox,simple-form,Ruby On Rails,Forms,Checkbox,Simple Form,我有一个表格来创建一个新的食谱。 每个配方可以有多个标签。 我想显示所有标签的可能性,并允许用户检查或取消选中它们。 我可以有一个漂亮的标签显示,但我不知道如何将它们变成复选框。。。 它们必须作为一个数组保存在字段中的所有\u标记中 = simple_form_for @recipe, html: {multipart: true} do |f| - if @recipe.errors.any? #errors %p = @recipe.errors.co

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

= 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
试试这个:

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

如果需要将它们另存为阵列,请尝试以下解决方案:

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

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

如果需要将它们另存为阵列,请尝试以下解决方案:

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

几乎。我有所有的复选框,但它不显示标签的名称。字段名是
all_tags
,我在哪里指定它?我更新了我的postGood,我们继续:)唯一的问题是,不是保存所有
名称的数组,而是保存所有
标记id的数组。。。下面是HTML的外观:VégétarienTry使用
@tags.map{{| tag | tag.name}
,而不仅仅是
@tags
,它可以工作!谢谢,我花了几个小时来解决这个问题。最后一个问题:你知道为什么它们一个接一个地显示吗?而不是像列表或任何其他方式,让你点击每一个。你是受欢迎的!你可以用一些图片和/或更多信息来更新你的问题,因为我并不完全了解你的问题。我有所有的复选框,但它不显示标签的名称。字段名是
all_tags
,我在哪里指定它?我更新了我的postGood,我们继续:)唯一的问题是,不是保存所有
名称的数组,而是保存所有
标记id的数组。。。下面是HTML的外观:VégétarienTry使用
@tags.map{{| tag | tag.name}
,而不仅仅是
@tags
,它可以工作!谢谢,我花了几个小时来解决这个问题。最后一个问题:你知道为什么它们一个接一个地显示吗?而不是像列表或任何其他方式,让你点击每一个。你是受欢迎的!你可以用一些图片和/或更多信息更新你的问题,因为我并不完全了解你的问题。