3

我的应用中有模型:

类注释 < ActiveRecord::Base

belongs_to :commentable, :polymorphic => true

结尾

类项目 < ActiveRecord::Base

has_many :discussions, :dependent => :destroy
has_many :tickets, :dependent => :destroy

结尾

课堂讨论 < ActiveRecord::Base

has_many :comments, :as => :commentable, :dependent => :destroy

结尾

类票 < ActiveRecord::Base

has_many :comments, :as => :commentable, :dependent => :destroy

结尾

一切正常,但有时通过commentable(即comment.commentable.project)从comment 中获取项目并不是很方便。有没有办法在评论模型中制作 has_one 项目?

4

1 回答 1

4

我会将以下方法添加到您的课程中Comment

def project
  self.commentable ? self.commentable.project : nil
end

这将为您提供相同的结果,而无需ActivRecord.

于 2011-09-20T05:42:02.883 回答