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)。