Rails:如何使用特定参数过滤所有对象?

时间:2011-03-08 00:32:25

标签: ruby-on-rails ruby-on-rails-3

有没有更短的方式来写这个?

Job.all(:conditions => "job_source_id=1")

3 个答案:

答案 0 :(得分:5)

更短更可读:

Job.where :job_source_id => 1

答案 1 :(得分:1)

使用动态查找器

http://guides.rubyonrails.org/active_record_querying.html#dynamic-finders

Job.find_by_source_id(1)

答案 2 :(得分:0)

我通常喜欢将范围用于这样的事情:

# in the model
scope :from_sales, :conditions => { :job_source_id => 1 }

然后,从任何地方,我都可以打电话:

Job.from_sales.all

这让我可以在我的问题域而不是sql中表达自己。