使用模型关联更改rails中的find方法

时间:2013-06-23 11:36:41

标签: ruby-on-rails activerecord

现在我有这样的模特:

class CrossList < ActiveRecord::Base
  belongs_to :price_list  
end

class PriceList < ActiveRecord::Base
  has_many :cross_lists
end

我在方法中有这样的代码:

@search_res = CrossList.search(search_condition)
@prlist = PriceList.find(:first, :conditions => { :id => @search_res.map(&:price_list_id)}, :order => 'price desc')

但我如何使用模型协调来做到这一点?我可以写

@prlist = @search_res.price_lists

但这是对的吗?但它也必须按照发现的方式进行排序,我该如何做到这一点?

还有什么是最好的?找到还是分配?

(铁路新人)

1 个答案:

答案 0 :(得分:1)

您可以设置与:order关联的顺序,如下所示:

class Company < ActiveRecord::Base
   has_many :employees, order: "age DESC"
end

默认情况下会订购员工:

Company.all.sample.employees

是的,在此方案中使用关联。