从粗略的一瞥看,它们似乎只是针对同一组问题的两种不同方法,除了命名范围是可链接的,而关联扩展不是。
任何人都可以进一步解释,或提供一个更适合关联扩展而不是命名范围的示例吗?
答案 0 :(得分:11)
关联扩展对于创建用于创建,更新等的自定义方法非常有用(不一定要查找)。
因为您可以访问proxy_owner,proxy_reflection,proxy_target,所以您可以很好地了解关系。
查看Rails文档的关联扩展部分:
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
答案 1 :(得分:0)
是的,你是对的,主要区别在于named_scope
是可链接的。但它们基本上做同样的功能,只是关联扩展更快。