2014-02-07 106 views
0

我有意见属于属于问题的答案。我目前正试图以显示评论,但我得到一个错误:无法访问双重嵌套资源?

undefined method `comments' for nil:NilClass 
从该行

显然 <%=渲染@ answer.comments%>

我征求意见的形式看起来像这样

<%= form_for([@answer, @answer.comments.build]) do |f| %> 

<p> 
    <%= f.label :comment %> 
    <%= f.text_area :comment, :cols => "50", :rows => "30"%> 
</p> 
<p> 
    <%= f.submit "Submit Comment" %> 
</p> 

而且我的意见控制器看起来像这样

def create 
@answer = Answer.find(params[:answer_id]) 
@comment = @answer.comments.create(params[:comment]) 
    redirect_to answer_path(@answer) 
end 

评论belongs_to回答并回答has_many评论。谢谢!

回答

1

你应该创建作为自己的注释,它涉及到你的答案:

@comment = Comment.create(answer_id: params[answer_id]) 

GL HF &。

+0

仍然有一个未定义的方法错误,有什么想法?谢谢! – google1254

+0

什么是你的params散列?您的控制器中有新的方法吗? – rlecaro2

+0

DEF创建 \t \t @comment = Comment.create(answer_id:PARAMS [:answer_id]) \t \t \t redirect_to的answer_path(@answer) \t年底 – google1254