1

我试过这个

scope :opened, lambda {       
  where("entries_count <= limit")
}

但我收到一个错误:

Mysql2::Error: 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'limit)' 附近使用正确的语法: SELECT shifts.* FROM shifts WHERE (entries_count <= limit)

4

2 回答 2

-2

您可以通过以下方式获得:

scope :opened, lambda { |limit| where("entries_count <= ?",  limit) }

或者这种方式是 lambda 的更新语法:

scope :opened, -> limit { where("entries_count <= ?",  limit) }
于 2013-10-18T16:36:53.887 回答
-2

entry_count 和 limit 活动记录属性是否都映射到列?

scope :opened, -> { where(:entries_count <= :limit }
于 2013-10-18T16:22:21.333 回答