1

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

uninitialized constant Subscription::SubscriptionContactDatum

问题是那SubscriptionContactDatum不存在。我有一个类叫SubscriptionContactData,但不是SubscriptionContactDatum。几天后想知道发生了什么,我发现问题来自依赖项。

有两个相关的类:SubscriptionSubscriptionContactDataSubscriptioncan 有很多ContactData,每个都ContactData属于 2 个不同的SubscriptionsSubs_cont_datas(id, subscription_id1, subscription_id2)

我虽然问题在那里,所以我尝试添加第二个:belongs_toContacDatas但没有运气。

订阅.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 => :destroyfonSubscriptions.rb错误消失,但数据库抛出一个外键约束错误(显然)。所以删除:dependent不是一种选择......

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

4

1 回答 1

0

I think, problem is not with :dependent => destroy. It is the Problem with "rails trying to pluralize the association name". So, you can try the below line.

has_many :subscription_contact_data, :class_name => 'SubscriptionContactData'

This should solve your issue.

Hope it helps.

于 2013-04-12T15:13:13.800 回答