こちらを参考に複数モデルを登録するフォームを作成しています。
子に当たるモデル名を下記のようにRecipe_ImageとするとネストされたRecipe_Imageの値が保存されません。
(Recipeのみ値が保存されています)
わかる方がいらっしゃいましたらご教授ください。
特にエラーが発生していないので困っています。
Schema
ActiveRecord::Schema.define(version: 20180220024148) do create_table "recipe_images", force: :cascade do |t| t.string "name" t.integer "recipe_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false end create_table "recipes", force: :cascade do |t| t.string "name" t.datetime "created_at", null: false t.datetime "updated_at", null: false end end
RecipeController
def new @recipe = Recipe.new @recipe.recipe_images.build end 略 def recipe_params params.require(:recipe).permit(:name, recipe_images_attributes: [:name]) end
Form
<%= form_for @recipe do |f| %> <%= f.text_field :name %> <%= f.fields_for :images do |i| %> <%= i.text_field :name %> <% end %> <%= f.submit "Save",name:"commit" %> <% end %>
Recipe Controller
class Recipe < ApplicationRecord has_many :recipe_images accepts_nested_attributes_for :recipe_images end
Recipe Controller
class RecipeImage < ApplicationRecord belongs_to :recipe, optional: true end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。