У меня есть таблица пользователей, где пользователи могут быть «друзьями» друг с другом. Следующие отношения в user.rb
и работает правильно:has_many и has_many через where where
has_many :friendships
has_many :friends, through: :friendships
Когда я бегу User.first.friendships
или User.first.friends
, все работает отлично.
Вот моя проблема ... Я добавил колонку в таблицу friendships
под названием accepted_on
. Я только хочу дружбы, где accepted_on
не ноль. Я использовал следующий код, чтобы сделать это:
has_many :friendships, -> (object) { where.not(accepted_on: nil) }
has_many :friends, through: :friendships
Теперь, если я бегу User.first.friendships
, все работает по плану. Если я запустил User.first.friends
, я получаю следующее сообщение об ошибке: ArgumentError: wrong number of arguments (0 for 1)
Возможно ли это?