0
我的配方和成分模型,其具有相關聯地設定爲Ruby on Rails的4 - 形式不更新的附加字段
Recipe has_many :ingredients
accepts_nested_attributes_for :ingredients, :reject_if => :all_blank, :allow_destroy => true
Ingredient belongs_to :recipe
和recipes_controller
def recipe_params
params.require(:recipe).permit(:title, :image, :serving, :prep, :cook, :steps, ingredients_attributes: [:id, :name, :_destroy])
end
定義強參數和所提交的形式發送以下參數
Request
Parameters:
{"utf8"=>"✓",
"_method"=>"patch",
"authenticity_token"=>"zT+9YEIh6ZNxO3wrV8ajj8NyVaTfPDel171hasWk2DA=",
"recipe"=>{"title"=>"Recipe with image",
"serving"=>"3",
"prep"=>"10 min ",
"cook"=>"19 min"},
"ingredient"=>{"name"=>["Chicken", "Beef"]},
"commit"=>"Update Recipe",
"id"=>"4"}
問題在於附加成分Beef
不會在數據庫中持久化。 我不知道我是否也必須傳入recipe_params
中定義的ingredient_id哈希,或者我需要參數中的某種參考來與配方關聯。
這個額外的字段是用腳本生成的,我不認爲這個值在提交表單後會丟失,因爲它在請求參數中顯示。
我將不勝感激您的意見。
感謝。我正在嘗試這個。會給你一個更新。 –