何时使用关联扩展名与命名范围?

时间:2010-02-02 20:17:31

标签: ruby-on-rails ruby activerecord

从粗略的一瞥看,它们似乎只是针对同一组问题的两种不同方法,除了命名范围是可链接的,而关联扩展不是。

任何人都可以进一步解释,或提供一个更适合关联扩展而不是命名范围的示例吗?

2 个答案:

答案 0 :(得分:11)

关联扩展对于创建用于创建,更新等的自定义方法非常有用(不一定要查找)。

因为您可以访问proxy_owner,proxy_reflection,proxy_target,所以您可以很好地了解关系。

查看Rails文档的关联扩展部分:

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

答案 1 :(得分:0)

是的,你是对的,主要区别在于named_scope是可链接的。但它们基本上做同样的功能,只是关联扩展更快。