我有一个关于form_for和嵌套资源的两部分问题。 比方说,我正在写一个博客引擎,我想把一条评论和一篇文章联系起来。 我已经定义了一个嵌套的资源,如下所示: map.resources :articles do |articles| articles.resources :comments end 评论表单位于文章的show.html.erb视图中,例如: <%= render :partial => "articles/article" %> <% form_for([ :article, @comment]) do |f| %> <%= f.text_area :text %> <%= submit_tag "Submit" %> <% end %> 这给出了一个错误,“被调用的ID为零,这会错误地等。 我也试过了 <% form_for @article, @comment do |f| %> 正确呈现,但将f.text_area关联到文章的“文本”字段而不是注释,并在该文本区域中显示article.text属性的html。 所以我似乎也有这个错误。 我想要的是一个表单,其“submit”将在CommentsController上调用create操作,在params中带有article_id,例如对/ articles / 1 / comments的post请求。 我的问题的第二部分是,创build评论实例的最佳方式是什么? 我在ArticlesController的show动作中创build了一个@comment,所以一个注释对象将在form_for helper的作用域中。 […]