我正在使用Rails 3,并且我想要定义一对多关联:用户可以将许多主题家庭分配给他/她,但是一个主题家庭只能分配给一个用户。Rails:一对多关联
这是我定义的:
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,但看到我对这个期望感到失望。任何人都可以看到我可能错过了这里吗?我用google搜索了很多,从我看到的这个应该可以工作。