为什么我在使用current_user.has_role时看到'0'?

Sta*_*ack 1 haml roles ruby-on-rails cancan ruby-on-rails-3

在视图中,我设置了角色验证(gems cancan和rolify).

例如在HAML中

=if current_user.has_role? :admin
  = link_to current_user.name, '#' 
Run Code Online (Sandbox Code Playgroud)

生成的HTML

<a href="#">Administrator</a>
"
0




"
Run Code Online (Sandbox Code Playgroud)

为什么我看到'0'?

Joh*_*ter 6

您应该-在if语句前面使用a ,可能是:

- if current_user.has_role? :admin
  = link_to current_user.name, '#' 
Run Code Online (Sandbox Code Playgroud)

当你在=那里使用时,它将显示该表达式的结果,这不是你想要的.