Rails版本:4.2.3
我在这里遇到一种奇怪的情况,我认为这是一件愚蠢的事,但我不知道为什么会这样。
我收到了一个关于网址的帖子通知,例如/ accounts / payment。在处理了我收到的json之后,我需要对模型Account的属性进行更新。我正在做这样的事情:
account.update_columns(status: "delayed")
或update_attributes
一切都在当地运作良好。所有测试都通过。但是由于这个代码在生产中运行时未知原因,该属性不会更新。
这里有来自生产环境的一些日志。
SQL (1.7ms) UPDATE "accounts" SET "status" = 'delayed' WHERE "accounts"."type" IN ('StandardAccount') AND "accounts"."id" = $1 [["id", 94]]
Account.find(94).status
Account Load (0.7ms) SELECT "accounts".* FROM "accounts" WHERE "accounts"."id" = $1 LIMIT 1 [["id", 94]]
=> "actived"
提前致谢
更新1 我的模态架构是:
StandardAccount < Account
更新2 不是Rails问题。我在帐户表中找到了一个涉及DB的触发器并导致问题。