我有两个表,它们之间有一个连接表:
父母:页面
孩子:事情
加入:网格
在我的模型中,它们建立了多对多的关系(has_many through):
class Page < ActiveRecord::Base
belongs_to :books
has_many :grids
has_many :things, :through => :grids
end
class Thing < ActiveRecord::Base
has_many :grids
has_many :pages, :through => :grids
end
class Grid < ActiveRecord::Base
belongs_to :page
belongs_to :thing
end
现在我希望能够使用网格中的排序ID(称为number
)对“事物”进行排序,我该怎么做?
谢谢!
答案 0 :(得分:2)
你需要在find方法中使用“:include(s)”选项,然后“order_by()”......
你会用这样的东西:Thing.where(...some condition or all..., :include => :grid ).order_by(grid.number)
见:
http://guides.rubyonrails.org/active_record_querying.html
http://m.onkey.org/active-record-query-interface
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html