我想
@cart = Cart.find_by(id: session[:cart], :limit => 1)
但是抛出错误SQLite3::SQLException: no such column: carts.limit: SELECT "carts".* FROM "carts" WHERE "carts"."id" = 1 AND "carts"."limit" = 1 LIMIT 1
所以如何在单个全局变量上使用多个方法?版本:rails 4.0.1
答案 0 :(得分:1)
您似乎要指定从find_by
返回的一条记录的限制。
然而,find_by
only returns one record anyway,所以这不是必需的。您的:limit
被解释为表格列,当然不存在。
你可以完全省略它。
@cart = Cart.find_by(id: session[:cart])
答案 1 :(得分:1)
如果你要通过id查询,你可以简单地做:
ruby @cart = Card.find(session[:cart])
因为find
将通过主键执行SELECT ... LIMIT 1
。