Rails依赖哪些选项可能?

时间:2014-09-21 18:10:54

标签: ruby-on-rails ruby-on-rails-4 destroy dependent-destroy

我在Rails 4中收到以下错误

依赖选项必须是destroy delete

之一

显然https://github.com/rails/rails/issues/3458之前支持其他选项。但是现在有什么可能呢? 我找不到任何其他文件

谢谢你的帮助

2 个答案:

答案 0 :(得分:26)

文档可用here

看起来支持以下选项:

  • :destroy - 导致所有相关对象也被销毁。
  • :delete_all - 导致所有关联对象直接从数据库中删除(因此不会执行回调)。
  • :nullify - 使外键设置为NULL。回调不会被执行。
  • :restrict_with_exception - 如果存在任何关联记录,则会引发异常。
  • :restrict_with_error - 如果存在任何关联对象,则会将错误添加到所有者。

答案 1 :(得分:0)

添加到 Ben 的答案中,如果需要在删除时什么都不做,也可以使用 nil(这是默认行为)