如何在控制器中堆叠rails helper方法?

时间:2013-12-14 19:00:04

标签: ruby-on-rails ruby ruby-on-rails-4 global-variables

我想

@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

2 个答案:

答案 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