【发布时间】:2011-05-25 00:26:25
【问题描述】:
我正在使用 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 但你瞧,我对这个期望感到失望。谁能看到我在这里可能错过的东西?我已经用谷歌搜索了很多,从我所看到的应该可以工作。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 associations