Ruby on rails 更改Rails中的枚举值而不保存模型

Ruby on rails 更改Rails中的枚举值而不保存模型,ruby-on-rails,activerecord,enums,active-enum,Ruby On Rails,Activerecord,Enums,Active Enum,如何在不将模型保存到数据库的情况下更改枚举值 的文档表明,conversation.active和conversation.status=“archived”相当于执行conversation.update!状态:1,而我正在从一个简单的表单获取属性,我不想在所有属性都设置好之前保存模型,否则模型将无效。方法的bang版本-conversation.active将立即保存到数据库 另一种方式-conversation.status=“archived”不会,需要显式的conversation.s

如何在不将模型保存到数据库的情况下更改枚举值


的文档表明,
conversation.active
conversation.status=“archived”
相当于执行
conversation.update!状态:1
,而我正在从一个简单的表单获取属性,我不想在所有属性都设置好之前保存模型,否则模型将无效。

方法的bang版本-
conversation.active将立即保存到数据库

另一种方式-
conversation.status=“archived”
不会,需要显式的
conversation.save之后。这就是你想要的方法


(顺便说一句,rails控制台对于测试这样的东西非常方便,甚至可以在执行时向您显示使用bang版本的方法执行的确切sql)

就是这样!所以文档中的注释是
#conversation.update!状态:1不正确?是的。您必须执行
conversation.status=“存档”;对话,救命