ActiveRecord`readonly? = true`正在阻止`destroy`

问题描述 投票:0回答:2

根据我发现的所有文档和教程,在我的ActiveRecord子类(AuthenticationToken)中定义以下方法应该可以防止保存对现有记录的更改,但不能阻止它被创建或销毁:

def readonly?
    !new_record?
end

然而,调用token.destroy抛出"AuthenticationToken is marked as readonly"。现在我正在使用token.delete,这是可以接受的,因为该模型没有孩子,但我希望能够使用destroy。我正在使用Rails 4.2.5。

ruby-on-rails activerecord readonly destroy
2个回答
0
投票

我想补充一下

before_destroy { true }

会允许你破坏对象。


0
投票

使用delete代替,它将能够删除标记为只读的记录

© www.soinside.com 2019 - 2024. All rights reserved.