каков правильный способ создания самоссылающихся отношений «многие ко многим» в active record?

#ruby-on-rails #ruby-on-rails-3 #activerecord

#ruby-on-rails #ruby-on-rails-3 #activerecord

Вопрос:

У меня есть следующие модели активных записей:

 class Relationship < ActiveRecord::Base  
  belongs_to :user  
  belongs_to :follower, :class_name => 'User', :foreign_key => 'follower_id'  
end  

class User < ActiveRecord::Base  
  has_many :relationships  
  has_many :followers, :through => :relationships  
end  
  

Я получаю сообщение об ошибке при попытке user.followers.
Ошибка аргумента: неизвестный ключ (ы): идентификатор

из /home/.rvm/gems/ruby-1.9.2-p180/gems /activesupport-3.0.7/lib /active_support/core_ext/hash/keys.rb:43: в `assert_valid_keys’

Комментарии:

1. Вы бы получили эту ошибку, если бы один из ваших ключей в вашем хэше был «идентификатором»… есть ли код, который вы не показываете нам, где упоминается идентификатор?

2. Спасибо @ryan. Я вынул столбец: идентификатор и посмотрел rails от ryanb # 163, и это, наконец, сработало. media.railscasts.com/videos /…