2014-12-24 5 views
0

меня есть рецепт и компонент модель, которые имеют ассоциаций установлены какРубин на рельсах 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, или мне нужна какая-то ссылка в параметре для связи с рецептом.

Это дополнительное поле было создано с помощью скрипта, и я не думаю, что это значение теряется после отправки формы, как показано в параметрах запроса.

Приносим свои извинения.

ответ

2

Вы используете fields_for при создании формы в поле зрения? проводка содержит ингредиент, но должен содержаться ingredients_attributes

Следуйте http://railscasts.com/episodes/196-nested-model-form-part-1

+0

Спасибо. Я пробую это. Вы получите обновление. –

Смежные вопросы