以前我们在 model 中定义了 enum 属性:
class Post < ActiveRecord::Base
enum status: %i[drafted active trashed]
end
Rails 会添加一些默认的 scopes,那么可以这么使用:
Post.drafted # => where(status: :drafted)
Post.active # => where(status: :active)
Rails6 中现在还会添加一些非 scopes,现在可以这么写了:
Post.not_drafted # => where.not(status: :drafted)
Post.not_active # => where.not(status: :active)