2013-07-15 61 views
1

我正在使用舊數據庫,但無法對其進行更改。Ruby on Rails - 列名稱與關係名稱相同

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

​​是計劃表的外鍵。 所以回報率,如果我寫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 

我可以在軌道改變存取列的名稱?

回答

1

試試這個,

: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 
+0

感謝,我試圖得到一個計劃對象時,我寫的'user.plan' –

相關問題