在不保存模型的情况下更改Rails中的枚举值

And*_*imm 3 enums activerecord ruby-on-rails active-enum

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

ActiveRecord :: Enum的文档表明方法喜欢conversation.active!conversation.status = "archived"等同于做conversation.update! status: 1,而我从simple_form表单获取属性,我不想保存模型,直到设置了所有属性,否则模型无效.

jos*_*ing 6

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

另一种方式 - conversation.status = "archived"不会,conversation.save!之后需要明确.所以,这就是你追求的方法.

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