我有两个模型发布和评论。
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
我创建新评论的表单如下
<%= form_for @comment , :url => post_comments_path(params[:post_id]) do |f| %>
<%= f.text_area :title %>
<%= f.submit "Add Comment" %>
<% end %>
我对上述表格的新动作感到困惑。在新的操作中,我可以用以下两种方式初始化@comment实例变量。
@comment = Comment.new
or
@post = Post.find(params[:id)
@comment = @post.comments.build(set_params)
我的问题是Comment.new和@ post.comments.build(set_params)之间有什么区别。
答案 0 :(得分:0)
后者是首选,因为它会在评论中设置post_id
。