3

我有一个带有以下型号的 Rails 2.3 应用程序。

class Message << AR::Base
  has_many :message_copies
end


class MessageCopy << AR::Base
  belongs_to :message
end

每当我查询 MessageCopy 时,我总是需要引用父消息的属性。所以我总是以预加载(通过 :include => :message)来减少数据库查询的数量。

到目前为止,我想出了这个:

named_scope :with_parent_msg, :include => :message

这让我很容易做到这一点:

@user.message_copies.with_parent_msg

有一个更好的方法吗?所以我不必总是调用 with_parent_msg?

接受任何建议。谢谢!

4

1 回答 1

4

您可以为此定义一个default_scope

class MessageCopy << AR::Base
  belongs_to :message
  default_scope include(:message)
end
于 2011-02-19T00:03:49.237 回答