Mik*_*ord 2 ruby if-statement ruby-on-rails
我总会碰到的东西。我想做这个:
if current_user.exists? && current_user.role == "admin"
# Do something
end
Run Code Online (Sandbox Code Playgroud)
显然,如果当前用户不存在,则返回时将不起作用 undefined method role for nil class
有没有一种方法我可以在没有多条If语句的情况下实现上述目的?
尝试:
if current_user&.role == "admin"
Run Code Online (Sandbox Code Playgroud)
& 是一个安全的导航器-如果它之前的部分为nil,则方法链的其余部分将不会执行,仅返回nil而不是抛出错误。
更多阅读:http : //mitrev.net/ruby/2015/11/13/the-operator-in-ruby/
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |