私はRecipe
モデルとIngredient
モデルを持っています。それらは両方ともhas_many :recipe_ingredients
およびレシピhas_many :ingredients, through: recipe_ingredients
および成分has_many :recipes, through: recipe_ingredients
およびレシピエントbelongs_to
レシピおよび成分の両方である。 recipe#show
から来て私はlink_to
new_recipe_ingredient_path(@recipe)
を持っています。そのビューでは、私は私がRecipeIngredient
テーブルにレコードを作成するために私ingredients_controller
に何が必要か、他の2つのテーブルから結合テーブルのレコードを作成
<%= form_for @recipe_ingredient do |f| %>
<%= f.collection_select :ingredient_id, Ingredient.all, :id, :name %>
<%= f.label :amount %>
<%= f.number_field :amount %>
<%+ f.submit %>
<% end %>
私の質問はありますか?私はparamsでシャベルを試みました。私は、IngredientコントローラーでRecipeIngredientを作成し、禁止された属性エラーを取得しようとしました。私は他のことを試して、タイプミスマッチを取得します。 REcipeINgredientコントローラのcreateメソッドにリダイレクトしてそこに作成できるかどうかは疑問です。
その優れた '保存を好みます'バージョンを' create'で作成してレコードを作成し、いくつかのパスにリダイレクトすると、いくつかの妥当性検査を行うことができます。例えば'if @ recipe_ingredient.save; redirect_to ...;最後に –
ええ、これはちょうど赤から緑に行くことでした:Dあなたの時間を助けてくれてありがとうございました:D –
あなたはあなた自身の解決策を考え出しました! :) –