在我的rails应用程序中,有两个表Plan
和Subscription
。 Plan
表格has_many
Subscription
而Subscription
belongs_to
Plan
。
我想创建一个不属于Subscription
的{{1}}。我可以在不指定Plan
的情况下创建Subscription
吗?或者,我应该使用plan_id
吗?
答案 0 :(得分:1)
是的,您可以创建Subscription
而无需指定Plan
。如果您使用的是Rails 5,则需要执行以下操作:
belongs_to :plan, optional: true
根据docs:
如果将:optional选项设置为true,则不会验证相关对象的存在。默认情况下,此选项设置为false。
答案 1 :(得分:1)
我个人真的不喜欢rails 5中默认需要的belongs_to。您可以在application.rb中添加此行。如果需要belongs_to,则必须添加验证。
config.active_record.belongs_to_required_by_default = false