我创建了一个模型(帖子),有两个父母社区和用户。
现在我希望有可能community_id
字段可能填充或不填充,因此我运行迁移,声明change_column_null
和change_column_default
允许community_id
的null默认值为零
现在错误是社区应该存在所以我应该在rails控制台中创建一个id=0
社区,这是一个好习惯吗?
或者我在下面的代码中做错了,允许null true ???
Post.rb(模型)
class Post < ApplicationRecord
belongs_to :user
belongs_to :community
end
迁移:
class Postcommunityidallownull < ActiveRecord::Migration[5.1]
def change
change_column_null :posts, :community_id, true
change_column_default :posts,:community_id, 0
end
end
答案 0 :(得分:2)
如果需要可选的belongs_to
:
1)只是不要添加字段的迁移
null: false
2)在模型中使用
belongs_to :community, optional: true