【发布时间】:2011-11-16 15:06:14
【问题描述】:
我正在从 Rails 3.0.10 切换到 Rails 3.1,现在我的 where 条件遇到了问题:
在我使用之前:
@brand = Brand.first
@search = Product.where(:brand => @brand)
这在 Rails 3.0.10 中运行良好,但更新到 Rails 3.1 时返回相同的代码:
“where 子句”中的未知列“products.brand”
此代码也适用于 Rails 3.1
@brand = Brand.first
@search = Product.where(:brand => @brand)
@brand = Brand.first
@search = Product.where(:brand_id => @brand)
谁能解释一下为什么这在 Rails 3.1 中不再起作用?
【问题讨论】:
-
您的第二个代码 sn-p 与第一个相同?
-
确实很抱歉,这是我这边的一个错误,我在 rails 3.1 中使用 :brand_id 并且这是有效的。只想知道什么 :brand 不再支持
-
你不能用
@brand.products吗? -
@SteenhouwerD 这是一个已知的错误,请参阅github.com/rails/rails/issues/1736
标签: mysql ruby-on-rails activerecord where