ruby-on-rails - 删除所有者时从记录中删除引用 ID

标签 ruby-on-rails activerecord associations

假设我有一个 Post模型:

class Post < ActiveRecord::Base
  belongs_to :category
end

和一个 Category模型:
class Category < ActiveRecord::Base
  has_many: :posts
end

我可以用 dependent: :destroy在删除特定类别时删除所有帖子,但我不想删除帖子,我只想通过设置 category_id 来删除与该特定类别的关联那些帖子的专栏到nil .

是否有一种开箱即用的“Rails 方式”,或者我是否需要使用一些回调?

最佳答案

使用依赖::无效

根据 Rails 指南:

:nullify causes the foreign key to be set to NULL. Callbacks are not executed.



所以你会有:
class Category < ActiveRecord::Base
  has_many: :posts,
             dependent: :nullify
end

关于ruby-on-rails - 删除所有者时从记录中删除引用 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35171014/

相关文章:

orm - 删除sequelize返回值中的连接表数据

mysql - Active Record 查询/SQL 连接性能不佳

ruby-on-rails - Nokogiri:解析不规则 "<"

ruby-on-rails - Rails 中模型属性的默认值

php - CodeIgniter SQL 查询 - 如何对每个月的值求和?

ruby-on-rails - 对 Rails 中的嵌套资源和身份验证感到困惑

ruby-on-rails - 如何保存整个 Rails 应用程序包,包括正在使用的 gem ?

javascript - 将变量传递给 escape_javascript

ruby-on-rails - Rails ActiveRecord Model.uniq.pluck :id doesn't work with postgres

ruby-on-rails - Ruby on Rails - has_many 基于 "kind"