0

レシピには多くの成分と方向があり、それぞれレシピに属します。私のviews/new.html.haml_formをレンダリングします。これはネストされた部分をレンダリングします。それは要求された入れ子にされた要素が存在しないと言う提出を拒否する。私は何が間違っているのか分からないのか分かりません。私はコードと繭文書を何度も繰り返してきました。どんな助けでも大歓迎です。ネストされた各要素、成分および方向のための部分的に_form.html.haml部分レシピには、関連を拒否するコクーンの宝石入りネストフォーム

 %h3 Ingredients 
     #ingredients 
      = f.simple_fields_for :ingredients do |ingredient| 
      = render 'ingredient_fields', f: ingredient 
      .links 
      = link_to_add_association 'Add Ingredient', f, :ingredients 

     %h3 Directions 
     #directions 
      = f.simple_fields_for :directions do |direction| 
      = render 'direction_fields', f: direction 
      .links 
      = link_to_add_association 'Add Step', f, :directions 

    = f.button :submit 

このリンクにsimple_form宝石を使用して

モデル/ recipe.rb

has_many :ingredients 
has_many :directions 

accepts_nested_attributes_for :ingredients, reject_if: :all_blank, allow_destroy: true 
accepts_nested_attributes_for :directions, reject_if: :all_blank, allow_destroy: true 

...

ビュー/レシピ/ _direction_fields.html.haml

.nested-fields 
    = f.input :step, input_html: { class: 'form-input form-control' } 
    = link_to_remove_association "Remove Step", f, class: 'btn btn-default form-button' 

ビュー/レシピ/ _ingredient_fields.html.haml

.nested-fields 
    = f.input :name, input_html: { class: "form-input form-control" } 
    = link_to_remove_association "Remove", f, class: "form-button btn btn-default" 

私はロールバックとフラッシュ予告読み行き方や食材を使用して新しいレシピを提出しようとすると...

2を防止行き方存在している必要があります

食材レシピを保存するから、このレシピは、レシピが存在している必要があり

+0

私は、あなたが 'validates_presence_of:recipe'のようなレシピが存在していなければならないという、' Ingredient'と 'Direction'のバリデーションがあると思います。どのように保存しますか?私は ':recipe_id'の存在を確認するとうまくいくと思います(一般的には一緒に保存されているためです)。 – nathanvda

+0

すべてのバリデーションを行っても動作しません。 –

答えて

関連する問題