Rails Rails 6 中的 enum 现在可以使用非 scopes

wootaw · 2019年03月08日 · 1282 次阅读

以前我们在 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)
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号