Ruby 关于 rails 简单关系 has_and_belongs_to_many

Ruby on rails simple relationship has_and_belongs_to_many

我有一个简单的 rails 应用程序,我试图在其中建立两个模型之间的关系。

我有一个计划模型和一个订阅模型。

一个订阅永远只有 1 个计划,但计划可以属于多个订阅。

由于不属于许多关系,我猜测创建此关系的最佳方法是使用 has_and_belongs_to_many 和 plan_subscription 的连接 table - 这是否正确?

假设这是正确的,我如何确保我的订阅只创建了一个计划?

我目前的代码如下:

class Subscription < ApplicationRecord
  has_and_belongs_to_many :plans
end

class Plan < ApplicationRecord
  has_and_belongs_to_many :subscriptions
end

如有任何帮助,我们将不胜感激。

has_and_belongs_to_many 关联是多对多关联,您编写的订阅只会有 1 个计划,计划可以属于多个订阅,所以在这种情况下,您的关联是 wrong.Your 关联将是这样的:

class Plan < ActiveRecord::Base
  has_many :subscriptions
end

class Subscription < ActiveRecord::Base
  belongs_to :plan
end