2

我正在使用旧数据库,我无法更改它。

user
---------
user_id | name | plan
1         'bob'   20

plan是计划表的外键。所以在 RoR 中,如果我写,User.find(1).plan我会得到 20,但我想得到计划对象

class User < ActiveRecord::Base
    belongs_to :plan, :foreign_key => :plan # this causes conflict because the names should not be equal

我可以更改 Rail 中访问器列的名称吗?

4

1 回答 1

2

尝试这个,

:class_name 是您要查找的内容。

class Plan < ActiveRecord::Base
  has_many :users, :foreign_key => 'user_id'
end

class User < ActiveRecord::Base
  belongs_to :alpha, :class_name => 'Plan', :foreign_key => 'plan'
end
于 2013-07-15T19:22:24.393 回答