0
我有两个模型发布和评论。Rails:如何在新的动作中初始化实例变量
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)之间有什么区别。
第一条评论不会有'post_id'属性集。这是全部的区别 –
根据你如何处理评论的创建,一个或另一个形式可能是可取的。 –