如何在rails5中使模型列可选

时间:2017-09-05 11:17:44

标签: ruby-on-rails ruby

我创建了一个模型(帖子),有两个父母社区和用户。 现在我希望有可能community_id字段可能填充或不填充,因此我运行迁移,声明change_column_nullchange_column_default允许community_id的null默认值为零

现在错误是社区应该存在所以我应该在rails控制台中创建一个id=0社区,这是一个好习惯吗?

或者我在下面的代码中做错了,允许null tr​​ue ???

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

1 个答案:

答案 0 :(得分:2)

如果需要可选的belongs_to

1)只是不要添加字段的迁移

null: false 

2)在模型中使用

belongs_to :community, optional: true