假设我有一个类Foo,其属于:bar。
Bar有一个属性名称。我想创建一个通过bar.name命令Foos的范围。我如何用范围做到这一点?
像, 范围:by_name,order('')?
我对rails很新,所以如果这个问题没有用,我很抱歉。
答案 0 :(得分:8)
试试这个......
scope :by_bar_name, order('bars.name').includes(:bar)
答案 1 :(得分:0)
或者内存消耗较少:
scope :by_bar_name, joins(:bar).order('bars.name')