我有一个简单的rails应用程序,我试图建立两个模型之间的关系。
我有计划模型和订阅模型。
订阅只有1个计划,但计划可以属于许多订阅。
因为没有属于很多关系我猜测创建它的最好方法是使用has_and_belongs_to_many和plan_subscription的连接表 - 这是正确的吗?
假设这是正确的,我如何确保我的订阅只创建了一个计划?
我目前的代码如下:
class Subscription < ApplicationRecord
has_and_belongs_to_many :plans
end
class Plan < ApplicationRecord
has_and_belongs_to_many :subscriptions
end
非常感谢任何帮助。
答案 0 :(得分:3)
has_and_belongs_to_many关联是多对多关联,你写的订阅只会有1个计划,计划可以属于多个订阅,所以在这种情况下你的关联是错误的。你的关联会是这样的:
class Plan < ActiveRecord::Base
has_many :subscriptions
end
class Subscription < ActiveRecord::Base
belongs_to :plan
end