меня есть рецепт и компонент модель, которые имеют ассоциаций установлены какРубин на рельсах 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
, или мне нужна какая-то ссылка в параметре для связи с рецептом.
Это дополнительное поле было создано с помощью скрипта, и я не думаю, что это значение теряется после отправки формы, как показано в параметрах запроса.
Приносим свои извинения.
Спасибо. Я пробую это. Вы получите обновление. –