2016-08-30 59 views
0

我有一個窗體來創建一個新的配方。 每個配方可以有多個標籤。 我想顯示所有標籤的可能性,並允許用戶選中或取消選中它們。 我能夠有一個漂亮的標籤顯示,但我不知道如何將它們變成複選框... 它們必須作爲數組保存在字段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 

回答

0

嘗試了這一點:

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

編輯:

如果你需要將它們保存爲陣列嘗試此解決方案:

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

差不多。我有所有的複選框,但它不顯示標籤的名稱。而字段名稱是'all_tags',我在哪裏指定它?我更新了我的文章 – Orsay

+0

請看更新的回答 – Zelenka

+0

好,我們前進:)唯一不是保存所有'name'的數組,而是保存所有'tag_id'的數組...這是HTML如何顯示: Orsay