0

嗨,我有三种模型:公司、计划和订阅,具有以下关联

    class Company < ActiveRecord::Base
      has_one :plan, :through => :subscriptions
      has_many :subscriptions
    end

    class Subscription < ActiveRecord::Base
      belongs_to :plan
      belongs_to :company
    end

   class Plan < ActiveRecord::Base
      has_many :subscriptions
      has_many :companies, :through => :subscriptions
    end

我的申请计划“A”和计划“B”中有两个计划。计划“A”是免费的,“B”是收费的。现在我想让公司注册计划“A”和注册计划“B”的公司。
我想在我的模型中使用这些数据,我知道它们绝对是获得所有这些的简单方法,但是我使用的每一件事都没有给我正确的数据。任何帮助将不胜感激。

4

2 回答 2

1

让公司注册计划“A”和公司注册计划“B”。以计划的对象,然后通过以下关系代码,您将获得公司的数量。这是加入概念。例如。@plan 是计划“A”的对象。然后@plan.companies.count。

我建议使用“多态关联”的概念。

于 2012-09-28T05:56:40.693 回答
1

您需要通过关联插入新记录。这是一个可能有帮助的相关链接。如何将记录添加到has_many:通过rails中的关联

但是伪代码就像

1. You have a company object
2. you will have company.subscriptions
3. Insert new Plan objects in company.subscriptions
4. Save the data.

如果您仍然面临问题,我将尝试添加一些代码示例。

于 2012-09-28T05:25:32.950 回答