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) }

または、ラムダのより更新された構文であるこの方法:

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

entry_count と limit active record 属性の両方が列にマップされていますか?

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