我希望這裏有人能幫助我。我收到以下錯誤:NameError與不存在的類
uninitialized constant Subscription::SubscriptionContactDatum
問題是SubscriptionContactDatum
不存在。我有一個名爲SubscriptionContactData
的課程,但不是SubscriptionContactDatum
。經過一些日子想知道發生了什麼,我發現問題來自依賴關係。
有相關的兩個類:Subscription
和SubscriptionContactData
。 Subscription
可以有許多ContactData
每個ContactData
屬於2個不同的Subscriptions
:Subs_cont_datas(id, subscription_id1, subscription_id2)
不過,我覺得這個問題是存在的,所以我嘗試添加第二個:belongs_to
到ContacDatas
沒有運氣。
subscription.rb
class Subscription < ActiveRecord::Base
has_many :subscription_contact_data, :dependent => :destroy
end
subscription_contact_data.rb
class SubscriptionContactData < ActiveRecord::Base
belongs_to :subscription
end
注1:如果我刪除:dependent => :destroy
FON Subscriptions.rb
錯誤消失,但DB拋出一個foreing鍵約束錯誤(明顯)。所以刪除:dependent
不是一個選項...
注2:我使用Ruby 1.8.9,Rails的3.0.1
「datum」聽起來像Rails的多元化不正確單數化。也許嘗試inflections.rb中的inflect.uncountable%w(SubscriptionContactData)。 – mahemoff