Маршруты, сгенерированные в вашем роутере, будут выглядеть примерно так:
/articles/:article_id/comments/:id
Это означает, что когда вам нужно загрузить статью в CommentsController, вы должны сделать что-то вроде этого (как предложено @Марлин):
def set_article
@article = Article.find(params[:article_id])
end
В противном случае вы рискуете прикрепить комментарий к неправильной статье, если случится конфликт идентификаторов между идентификаторами в комментариях и таблице статей.Или вы просто получаете ошибку ActiveRecord::RecordNotFound
.
Но я знаю, что это не отвечает на ваш вопрос напрямую, но я подозреваю, что проблема в том, что вы загружаете неправильную запись из БД где-то, потому что
Попробуйте обновить код и напишите тест, чтобы убедиться, что вы можете программно воспроизвести ошибку :)