Ruby on Rails направляет документ об ассоциации Activerecord неверно?
Ух ты, я боролся с этим целый день, следуя «официальному» документу ruby on rails guide, и только что обнаружил, что я все время ошибался этим документом. Я просто хочу подтвердить, правда ли это.
Если вы идете вhttp://guides.rubyonrails.org/association_basics.html и под 2.10. Сам присоединяется к разделу, где говорится:
class Employee < ActiveRecord::Base
has_many :subordinates, :class_name => "Employee"
belongs_to :manager, :class_name => "Employee",
:foreign_key => "manager_id"
end
Теперь я новичок и просто поверил в этот код (что еще я могу сделать?) И написал некоторый код, который является вариантом этого случая самостоятельного соединения. Однако чем больше я смотрел на него, тем больше он не чувствовал себя хорошо. не:subordinates
должен иметь:foreign_key
поле вместо:manager
? Во всяком случае, я просто изменил его, чтобы код был что-то вроде:
class Employee < ActiveRecord::Base
has_many :subordinates, :class_name => "Employee", :foreign_key => "manager_id"
belongs_to :manager, :class_name => "Employee"
end
и теперь это работает. Я что-то пропустил? Или официальный документ неверен? Трудно поверить, что официальный документ будет содержать неверную информацию, но, возможно, так оно и есть.