如何使用'ActiveRecord :: QueryMethods'中的'where'方法来限制搜索?

use*_*052 3 ruby search ruby-on-rails limit ruby-on-rails-3

我正在使用Ruby on Rails 3,我想限制一个where方法中的搜索ActiveRecord::QueryMethods使用如下的东西

Users.where(:name => "Test_name", :limit => 10)
Users.where(:name => "Test_name").limit(10)
Run Code Online (Sandbox Code Playgroud)

也就是说,我只想查询10条记录.我怎么能这样做?


在RoR源代码中有:

def where(opts, *rest)
  relation = clone
  relation.where_values += build_where(opts, rest) unless opts.blank?
  relation
end
Run Code Online (Sandbox Code Playgroud)

Jer*_*ten 7

你的第二个例子有效:

Users.where(:name => "Test_name").limit(10)
Run Code Online (Sandbox Code Playgroud)

这个Rails指南中有一个很好的列表和解释所有查询方法:http://guides.rubyonrails.org/active_record_querying.html