我有一个带有以下型号的Rails 2.3应用程序。
class Message << AR::Base
has_many :message_copies
end
class MessageCopy << AR::Base
belongs_to :message
end
每当我查询MessageCopy时,我总是需要引用父消息的属性。所以我总是最终预加载(通过:include =&gt;:消息)来减少数据库查询的数量。
到目前为止,我提出了这个问题:
named_scope :with_parent_msg, :include => :message
这让我可以轻松地做到这一点:
@user.message_copies.with_parent_msg
有更好的方法吗?所以我不必总是调用with_parent_msg?
对任何建议持开放态度。谢谢!
答案 0 :(得分:3)
您可以为此
定义default_scopeclass MessageCopy << AR::Base
belongs_to :message
default_scope include(:message)
end