何时使用关联扩展名与命名范围?
从粗略的一瞥看,它们似乎只是针对同一组问题的两种不同方法,除了命名范围是可链接的,而关联扩展不是。
任何人都可以进一步解释,或提供一个更适合关联扩展而不是命名范围的示例吗?
关联扩展对于创建用于创建,更新等的自定义方法非常有用(不一定要查找)。
因为您可以访问proxy_owner,proxy_reflection,proxy_target,所以您可以很好地了解关系。
查看Rails文档的Association Extension部分:
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
是的,你是对的,主要区别在于named_scope
是可链接的。 但它们基本上做同样的function,只是关联扩展更快。
- ActiveModel :: SecurePassword未定义方法`password_digest =’
- ActiveRecord find_all_by_X是否保留顺序? 如果不是,应该使用什么呢?
- update_all with a method
- 如何在模型观察器中获取current_user?
- 无法加载此类文件 – 1.9 / bcrypt_ext(LoadError)
- 仅在所有其他validation通过时执行一次validation
- 如何从YAML文件加载一些ActiveRecord模型并将其保存到数据库?
- Rails中两个类之间的多个belongs_to关系
- 迁移时需要使用add_index来获取belongs_to / has_many关系吗? (Rails 3.2,Active Record)