你如何创建一个双嵌套模型?

时间:2014-02-07 21:29:12

标签: ruby-on-rails

我有一个双嵌套资源评论属于答案,答案属于问题。我正在尝试使用

创建评论
def create
    @answer = Answer.find(params[:answer_id])
    @comment = @answer.comments.create(params[:comment])
    redirect_to question_path(@question)
end

从这样的形式:

form_for([@answer, @answer.comments.build])

但是,我得到undefined method error for render @answer.comments。我的创建操作错了吗?

编辑:我有关联,例如,回答has_many评论,评论belongs_to回答和资源的嵌套路由文件..

2 个答案:

答案 0 :(得分:0)

您可能想要重构,因此您没有在视图中构建注释的逻辑。

在表单的controller#new操作中构建注释,然后

form_for [@answer, @comment]

答案 1 :(得分:0)

首先是第一件事。 要使用@ answer.comments,您需要

has_many :comments
你的answer.rb(模特)中的