Где условие ActiveRecord Rails 3.1 - PullRequest
0 голосов
/ 16 ноября 2011

Я переключаюсь с Rails 3.0.10 на Rails 3.1, и теперь я сталкиваюсь с проблемой в моих условиях:

До того, как я использовал:

@brand = Brand.first
@search = Product.where(:brand => @brand)

Это отлично работало в Rails 3.0.10, но при обновлении до Rails 3.1 возвращался тот же код:

Неизвестный столбец 'products.brand' в 'предложении where'

Этот код также работает в Rails 3.1

@ brand = Brand.first

@ search = Product.where (: brand => @brand)

  @brand = Brand.first
  @search = Product.where(:brand_id => @brand)

Кто-нибудь, кто может объяснить мне, почему это больше не работает в Rails 3.1?

1 Ответ

2 голосов
/ 16 ноября 2011

Вам нужно будет использовать :brand_id вместо:

@search = Product.where(:brand_id => @brand)

Хотя, как упоминал @Marian в комментариях выше, вам, вероятно, следует просто сделать это:

@search = @brand.products
...