レシピには多くの成分と方向があり、それぞれレシピに属します。私の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を防止行き方存在している必要があります
食材レシピを保存するから、このレシピは、レシピが存在している必要があり
私は、あなたが 'validates_presence_of:recipe'のようなレシピが存在していなければならないという、' Ingredient'と 'Direction'のバリデーションがあると思います。どのように保存しますか?私は ':recipe_id'の存在を確認するとうまくいくと思います(一般的には一緒に保存されているためです)。 – nathanvda
すべてのバリデーションを行っても動作しません。 –