2013-04-24 42 views
1

我有一個使用STI模型:Rails的:創建錯誤的表名稱與一個命名空間STI

class Contributor::Name < Contributor::NameBase 
    ... 
end 

從這個模型:

class Contributor::NameBase < ActiveRecord::Base 
    ... 
end 

每當Contributor::Name被實例化時,我收到此錯誤:

看來,代替查找表contributor_name_bases,Activ eRecord正在查找contributor_basis_name_bases。爲什麼要在contributorname_bases之間加basis?我怎樣才能讓它停止?

回答

1

好吧,這不是一個答案,爲什麼軌道添加'basis',但它會爲你工作。
在您的模型中使用set_table_name 'contributor_name_bases'

+0

謝謝,這是訣竅!希望有人會在某個時候提供解釋,但現在,瞭解'set_table_name'將允許處理這個問題和類似的問題。 – nullnullnull 2013-04-24 20:51:16

+0

不客氣:) – squiter 2013-04-24 21:30:16

相關問題