2016-08-30 10 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 

EDIT:ほとんど

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

を使用すると、配列は、このソリューションを試しとして保存する必要がある場合。私はすべてのチェックボックスを持っていますが、タグの名前は表示されません。フィールド名は 'all_tags'ですが、どこで指定しますか?私の投稿を更新しました – Orsay

+0

更新された答え – Zelenka

+0

を参照してください良い、私たちは進んでいます:)唯一のことは、すべての 'name'の配列を保存するのではなく、' tag_id'のすべての配列を保存することです。どのようにHTMLが見えるか: Végétarien – Orsay

関連する問題