Самостоятельная ссылка has_many,: through - PullRequest
0 голосов
/ 05 мая 2011

Вот моя модель пользователя:

class User < ActiveRecord::Base

  has_many :friends, :class_name => 'Friendship', :dependent => :destroy

end

Вот моя модель Дружбы:

class Friendship < ActiveRecord::Base

  belongs_to :user
  belongs_to :friend, :class_name => 'User', :foreign_key => 'friend_id'

  set_table_name :users_users
end

Теперь у меня есть логический атрибут в модели User с именем * is_awesome *.

Когда я пытаюсь выполнить этот запрос:

User.find(1).friends.find(:all, :include => :users, :conditions => {:is_awesome => false})

Я получаю следующую ошибку:

ActiveRecord::StatementInvalid: Mysql::Error: 
Unknown column 'users_users.is_awesome' in 'where clause': 
SELECT * FROM `users_users` 
WHERE (`users_users`.user_id = 1 AND (`users_users`.`is_awesome` = 0))

Есть идеи, что происходит?

1 Ответ

0 голосов
/ 05 мая 2011

Вы должны изменить: условие, чтобы ссылаться на пользовательскую таблицу, должно выглядеть примерно так:

User.find(1).friends.find(:all, :include => :users, :conditions => "users.is_awesome IS FALSE")
...