ruby-on-rails - 更新 Rails 中已删除的对象时没有错误

标签 ruby-on-rails ruby postgresql

Rails 对已删除的记录执行更新。

我在 ruby​​ on Rails 上有一个 Web 应用程序,其中创建了一些用户,之后我打开 Rails 控制台并将 U1 分配给我的一个用户(假设最后一个用户),然后将相同的用户分配给 U2。然后我运行 U1.destroy ,它执行成功 you can check screenshot 之后我通过 U2 更新了用户名,它返回 true you can check screenshot虽然,当我检查时,用户已从数据库中销毁。我担心 Rails 应该给我 false,因为数据库中没有针对该 ID 的对象。

最佳答案

如果您想在更新之前仔细检查记录是否存在,可以使用reload

user.reload.update(name: "Some Name")

如果具有此类id的记录不存在,它将引发ActiveRecord::RecordNotFound

关于ruby-on-rails - 更新 Rails 中已删除的对象时没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73662052/

相关文章:

ruby-on-rails - 无法获得所需的日期时间格式rails 3

ruby-on-rails - Heroku ruby​​ buildpack 错误 - 未定义的局部变量或方法 `install_language_pack_gems'

ruby-on-rails - 常量 Logger::Format not defined (NameError) with activerecord

python - psycopg2 - 如何在更新 Json 列时转义单引号?

ruby-on-rails - Ruby (Rails) 取消转义字符串 -- undo Array.to_s

ruby-on-rails - 当为 kvs 使用 redis 时,使用 1 db 或不同的是很快的

ruby-on-rails - Rails 中的 t.belongs_to 和 t.references 有什么区别?

ruby-on-rails - 为 STI 模型创建表单

sql - 如何仅从表中选择具有不存在于 PostgreSQL 内部联接中的 ID 的行?

django - 为什么具有 JSONFields 的不同 Django 模型具有相同的值?