如何在枚举字段中表达包含?

How do I express an include on an enum field?

我正在使用 Rails 5. 我的模型中有一个枚举字段。当我想检查它是否是三个值之一时,我正在这样做

book.status == :read || book.status == :incomplete || book.status == :not_started

上面有没有更简洁的写法?也许它已经尽可能简洁了。

Rails' 枚举使您可以访问一些 class 和实例方法。其中一个实例方法是布尔检查。所以你可以将你的表达式重写为:

book.read? || book.incomplete? || book.not_started?

Rails Enum Docs