【发布时间】:2014-12-17 21:07:54
【问题描述】:
我正在尝试使用 ActiveRecord 构建查询,但我发现在 order() 之后执行 limit() 和/或 where() 不起作用。
这是我的代码:
candidates = Candidate.order("created_at desc")
puts candidates.to_sql
#prints SELECT "candidates".* FROM "candidates" ORDER BY created_at desc
candidates.limit(20)
puts candidates.to_sql
#prints SELECT "candidates".* FROM "candidates" ORDER BY created_at desc
candidates.where("first_name = ?", "Josh")
puts candidates.to_sql
#prints SELECT "candidates".* FROM "candidates" ORDER BY created_at desc
我正在使用 rails 和 activerecord (4.1.1)
【问题讨论】:
-
顺便说一句,由于您使用的是 Rails 4,因此您可以使用更简洁的语法:
Candidate.order(created_at: :desc)和candidates.where(first_name: "Josh")。
标签: ruby-on-rails activerecord