tay*_*nan 4 ruby mysql ruby-on-rails foreign-keys ruby-on-rails-5
如何将外键设置为空?因为我想关联两个表,用户和团队,但并不强制用户必须拥有团队。
rails g scaffold Time name: string user: references
Rails 级别(模型验证)
在 Rails 4.x 中,定义引用时,关联的记录belongs_to是可选的。从 Rails 5.x 开始,此关联是必需的。
在 Rails 4 中,要使关联记录成为必需,您将执行以下操作
class Photo
belongs_to :user, required: true
end
Run Code Online (Sandbox Code Playgroud)
在 Rails 5 中,要使关联记录成为可选的,您将执行以下操作
class Photo
belongs_to :user, optional: true
end
Run Code Online (Sandbox Code Playgroud)
数据库级别
您需要确保您的迁移没有约束null: false。您应该检查迁移以确保它如下所示
create_table :photos do |t|
t.references :user, null: true, foreign_key: true
end
Run Code Online (Sandbox Code Playgroud)