我的应用中有模型:
课程评论<的ActiveRecord ::基
belongs_to :commentable, :polymorphic => true
端
class Project<的ActiveRecord ::基
has_many :discussions, :dependent => :destroy
has_many :tickets, :dependent => :destroy
端
课堂讨论<的ActiveRecord ::基
has_many :comments, :as => :commentable, :dependent => :destroy
端
class Ticket<的ActiveRecord ::基
has_many :comments, :as => :commentable, :dependent => :destroy
端
一切正常,但有时通过评论(即comment.commentable.project)从评论中获取项目并不是很方便。 有没有办法在Comment模型中制作has_one项目?
答案 0 :(得分:4)
我会将以下方法添加到您的班级Comment
:
def project
self.commentable ? self.commentable.project : nil
end
如果没有ActivRecord
的所有魔力,这将为您提供相同的结果。