Я надеюсь, что это легко .... =)Pass новый идентификатор объекта в создании контроллера рубин на рельсах
У меня есть объект вопрос и объект favanswer, вопрос HAS_ONE favanswer, favanswer belongs_to вопрос , У меня есть столбец favanswer_id и индекс в моей модели вопросов, я пытаюсь передать недавно опубликованный файл favanswer_id в соответствующее поле favanswer_id объектов вопросов. Может быть, это намного больше ... или меньше .. сложнее, чем это. Но в favanswer_controller у меня есть следующее в действии create, и я просто пытаюсь выяснить, как исправить строку 6 или что мне нужно сделать , потому что без 6 он отлично работает, он просто не обновляет мою модель вопроса ... Help?
1 def create
2
3 @answer = Answer.find(params[:answer_id])
4 @question = @answer.question_id
5 Favanswer.create(favanswer_params.merge(user: current_user, question_id: @question))
6 Question.update(@question, :favanswer_id => "HOW DO I PASS THE NEW FAVANSWER ID HERE?")
7 redirect_to question_path(@question)
8
9 end
Это происходит потому, что вы имеете в виду вопрос id, а не вопрос. Вы пробовали '@L = Favanswer.create (favanswer_params.merge (user: current_user, question: @question)' Я считаю, что если вы ссылаетесь на ассоциацию, а не на внешний ключ, Rails будет делать правильную вещь. – jaydel
пункт уточнения : '@question = @ answer.question_id' должно быть' @question = @ answer.question' в моем комментарии выше. – jaydel