Ruby on rails 3 不存在类的名称错误

Ruby on rails 3 不存在类的名称错误,ruby-on-rails-3,dependencies,Ruby On Rails 3,Dependencies,我希望这里有人能帮助我。我得到以下错误: uninitialized constant Subscription::SubscriptionContactDatum 问题是SubscriptionContactDatum不存在。我有一个名为SubscriptionContactData的类,但不是SubscriptionContactDatum。在思考了几天之后,我发现问题来自于依赖关系 有两个相关的类:Subscription和SubscriptionContactData订阅可以有许多联系

我希望这里有人能帮助我。我得到以下错误:

uninitialized constant Subscription::SubscriptionContactDatum
问题是
SubscriptionContactDatum
不存在。我有一个名为
SubscriptionContactData
的类,但不是
SubscriptionContactDatum
。在思考了几天之后,我发现问题来自于依赖关系

有两个相关的类:
Subscription
SubscriptionContactData
<代码>订阅可以有许多
联系人数据
,每个
联系人数据
属于两个不同的
订阅
子联系人数据(id、订阅id1、订阅id2)

我认为问题就在那里,所以我尝试在
ContacDatas
中添加第二个
:bellings to
,但运气不好

subscription.rb

class Subscription < ActiveRecord::Base
  has_many :subscription_contact_data, :dependent => :destroy
end
类订阅:销毁
终止
订阅\u联系人\u data.rb

class SubscriptionContactData < ActiveRecord::Base  
  belongs_to :subscription
end
class SubscriptionContactData
注1:如果我删除
:dependent=>:destroy
fon
订阅。rb
错误消失,但DB抛出一个foreing键约束错误(显然)。因此,删除
:dependent
不是一个选项


注2:我使用的是Ruby 1.8.9、Rails 3.0.1

我认为,问题不在于:dependent=>destroy。这就是“rails试图将关联名称复数化”的问题。所以,你可以试试下面这行

has_many :subscription_contact_data, :class_name => 'SubscriptionContactData'
这应该能解决你的问题

希望能有所帮助。

这个“基准”听起来像Rails的多重化是错误的单一化。也许可以尝试在influctions.rb中使用influct.uncountable%w(SubscriptionContactData)。