Я использую Rails 3, и у меня есть связь один ко многим, которую я пытаюсь определить: пользователю может быть назначено много семейств тем, но семья может быть назначена только одному пользователю..
Вот что я определил:
class User
has_many :subject_families
class SubjectFamily
belongs_to :assignee, :class_name => "User", :foreign_key => 'assigned_to'
Я добавил миграцию, которая делает это:
change_table(:subject_families) do |t|
t.integer :assigned_to
end
Я получаю исключение при попытке сделать:
u = User.first
s = u.subject_families
Вот исключение:
Invalid column name 'user_id'.: SELECT [subject_families].* FROM [subject_families] WHERE ([subject_families].user_id = 1)
Я ожидал, что это будет использование subject_families.assigned_to, а не user_id, но вот, я был разочарован этим ожиданием.Кто-нибудь может увидеть, что я мог здесь пропустить?Я много гуглил, и из того, что я вижу, СЛЕДУЕТ работать.