Неоднозначная ошибка имени столбца при обновлении до Rails 3.1 - PullRequest
0 голосов
/ 14 марта 2012

Приведенный ниже код прекрасно работал в Rails 3, но выдает ошибку:

ActiveRecord::StatementInvalid: SQLite3::SQLException: ambiguous column name: 
id: SELECT "categories".id FROM "categories" 
INNER JOIN "categorizations" 
ON "categories"."id" = "categorizations"."category_id" 
WHERE "categorizations"."reason_id" = 283 ORDER BY id

Проблемы, по-видимому, заключаются в вызове причина.В последней строке здесь проблема исправлена.это ошибка?

class Category < ActiveRecord::Base
  has_many :categorizations
  has_many :reasons, :through => :categorizations

  scope :active, where("active = ?", true)
  default_scope :order => 'id'

1 Ответ

4 голосов
/ 15 марта 2012

Вот и мы ...

[In Rails 3.1] Supplying options hash to with_scope, with_exclusive_scope and default_scope has also been deprecated:

default_scope :order => "id DESC"

Попробуйте

default_scope order('categories.id')
...