class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
post = Post.new
post.comments.build(:title=>'title1')
comment1 = post.comments.first
如果我只得到评论1,我怎么知道评论1关联发帖,帖子类是“发布”
答案 0 :(得分:0)
这由foreign_key
确定。评论表中(应该)post_id
。您可以使用comment1.post
来获取相关的Post对象。
答案 1 :(得分:0)
您可以通过comment.post
访问帖子。关联的对象将始终为类Post
,因为您定义了类似的关系。无论如何,如果您想知道对象具有哪个类,您可以使用object.class
来获取类,并且可以使用object.kind_of? ClassName
来验证对象是否为ClassName
。
//如果您需要所有者,则需要在Comment模型中添加user_id
字段并为其添加关联:
注释:
belongs_to :user
用户:
has_many :comments
然后你可以说:
comment.user #This will return the owner of the comment
创建评论时,您需要关联当前登录的用户,以便知道是谁创建的!