ruby-on-rails - 如何在我的代码库中忽略/抑制特定类型的异常 (ActiveRecord::ReadOnlyRecord)
问题描述
我正在尝试创建我的应用程序的只读版本,并对 ActiveRecord::Base 进行猴子修补,以便它true
在readonly?
所有模型中返回:
module ActiveRecord
class Base
def readonly?
true
end
end
end
这导致在ActiveRecord::ReadOnlyRecord
我尝试写入数据库的任何地方都会引发异常。有没有办法在代码中的任何地方忽略这个异常并继续执行代码。以某种方式覆盖异常类,使其不执行任何操作,即抑制异常。
解决方案
您可以尝试这样的操作,而不是将所有模型设为只读:
class ApplicationRecord < ActiveRecord::Base
before_commit do
raise ActiveRecord::Rollback, 'Read-only'
end
end
推荐阅读
- java - SocketException:序列化时连接重置
- php - Laravel 7 中的多重身份验证问题
- reactjs - React Router 不匹配路由
- python - 如何在 Tensorflow 中加入两个操作以创建新操作?
- cypress - 赛普拉斯自动化:一个函数中有多个 cy.get 元素
- python-3.x - 在 Python 中自动化 Selenium 中的 nb-select 下拉按钮
- vue.js - 在现有站点问题上实施 Vue
- javafx - JavaFX 为 TableColumn 设置比较器会导致编译器错误
- google-apps-script - 列表项目编号不会转移到新文档
- python - 如何在没有循环的熊猫中生成唯一的 uuid