2
我在我的Rails应用程序的一些逻辑检查类的类型我CURRENT_USER变量:Case语句评估类工作不正常
logger.debug current_user.class # => Instructor
logger.debug current_user.class == Instructor # => true
case current_user.class
when Admin
logger.debug "Admin"
when Student
logger.debug "Student"
when Instructor
logger.debug "Instructor"
else
logger.debug "Guest"
end #=> "Guest"
尽管Instructor
是类的类型(如注释中所示)似乎案例陈述总是评估其他回退。有人可以解释为什么吗?为了给出一点背景,我正在使用Devise实现STI用户模型设置。
感谢那些工作 - 我不知道它在默认情况下选中类。 – Noz 2013-03-11 19:03:01
如果它有效,那我为什么会低调? – 2013-03-11 19:03:53
是不是我投票,我在这里投票给你。 – Noz 2013-03-11 19:04:34