2016-07-29 98 views
2

我有這樣的:別名關係

class User < ActiveRecord::Base 
    has_many :jobs 

如何重命名「:工作」來而不重命名源類別的東西嗎?我只是想將它們稱爲:

class User < ActiveRecord::Base 
    has_many :obligations 

就是這樣。我試過了:

has_many :obligations, source: :user 

但它沒有工作。

+3

嘿,你可以用'的has_many嘗試:義務:CLASS_NAME => Job' –

回答

1

你做錯了。而不是像這樣添加源添加類

class User < ActiveRecord::Base 
    has_many :obligations, class_name: 'Job' 
end 

我希望這會解決您的問題。

2

如果其他模型的名稱不能從關聯名稱派生,則可以使用:class_name選項來提供模型名稱。

,你必須使用:class_name選項

class User < ActiveRecord::Base 
    has_many :obligations, class_name: 'Job' 
end