【问题标题】:Relationships in different namespaces不同命名空间中的关系
【发布时间】:2015-04-14 09:49:11
【问题描述】:

我对如何定义不同命名空间中的模型之间的关系有些困惑。我创建了这个示例来说明我的问题,并添加了符合我要求的 cmets。

class User < ActiveRecord::Base
  has_one :account # meaning Account
end

class Account < ActiveRecord::Base
  belongs_to :user # meaning User
  has_many :campaigns # meaning campaigns
  has_one :account # meaning SomeCollection::Account
end

class Campaign < ActiveRecord::Base
  belongs_to :account # meaning Account
end

class SomeCollection::Account < ActiveRecord::Base
  belongs_to :account # meaning Account
  has_many :campaigns # meaning SomeCollection::Campaign
end

class SomeCollection::Campaign < ActiveRecord::Base
  belongs_to :account # meaning SomeCollection::Account
end

我最困惑的是AccountSomeCollection::Account之间的关系。我希望能像这样访问这个实例 -

account.some_collection_account
# => <SomeCollection::Account ...>

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 models


    【解决方案1】:

    您可以为每个关联指定一个类名,然后像这样选择关联名称:

    has_one :some_collection_account, class_name: 'SomeCollection::Account'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      相关资源
      最近更新 更多