gpt4 book ai didi

ruby-on-rails - 在 Rails 中添加可为空的外键

转载 作者:数据小太阳 更新时间:2023-10-29 06:22:47 26 4
gpt4 key购买 nike

引用 Rails 4.2 add_foreign_key支持:

    # add a foreign key to `articles.author_id` referencing `authors.id`
add_foreign_key :articles, :authors

如何创建可为 null 的外键约束,以允许 articles.author_id 有时可以为 null 的情况?

最佳答案

请注意,在 Rails 5在 Rails 6 中 如果它是 1:n (belongs_to ),因为默认值已更改:

belongs_to :author, 可选:true

这是对应的Changeset .

要在整个应用程序中使用旧行为,您还可以设置:

Rails.application.config.active_record.belongs_to_required_by_default = false

config/initializers/new_framework_defaults.rb

您通常会看到的错误是:

ActiveRecord::RecordInvalid: Validation failed: Class must exist
from /usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/validations.rb:78:in `raise_validation_error'

您可能还需要更新任何迁移:将 null: false 更改为 true 并运行 rake db:redo(如果它已经运行)。

关于ruby-on-rails - 在 Rails 中添加可为空的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com