1
在模型中创建命名范围时,是否需要在查询中使用的属性之前调用模型?创建命名范围:是否需要在属性之前声明该模型
例
scope :sorted, order('position ASC')
VS
scope :sorted, order('pages.position ASC')
是后者优选的,或者与约定内嵌?两者都有好处吗?还是只是一个清晰或易读的问题?
在模型中创建命名范围时,是否需要在查询中使用的属性之前调用模型?创建命名范围:是否需要在属性之前声明该模型
例
scope :sorted, order('position ASC')
VS
scope :sorted, order('pages.position ASC')
是后者优选的,或者与约定内嵌?两者都有好处吗?还是只是一个清晰或易读的问题?
您将需要声明模型,如果范围将与另一个具有相同名称的字段的模型一起使用。
说的是company has_one :contact
,而Contact
的有position
。然后
Company.sorted.joins(:contact)
会抱怨(在SQL级),它目前还不清楚该position
领域应该用于排序。
否则它是可选的。