【发布时间】:2026-02-21 10:40:01
【问题描述】:
我正在使用 Rails 4.1 和 Ruby 2.1.1
我的用户模型中有一行:
enum role: [:user, :admin, :team_admin, :domain_admin, :super_admin]
在我的控制器中,我只想在我的用户是 :domain_admin 并且我使用以下测试时才做某事:
if @user.role == :domain_admin
当@user.role(在控制台中)返回:domain_admin 时,测试返回false。所以该值设置正确,但我一定是误解了测试它的相等性,或者枚举不像我以前想象的那样工作。我从阅读文档中假设它们是(小)整数上的薄层。
谁能告诉我如何测试:domain_admin 的相等性,以及如何测试>= :domain_admin?
非常感谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 enums