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
我有一个简单的 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