ruby-on-rails – 除非\u0026\u0026语句

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 除非\u0026\u0026语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的application_controller.rb中有以下内容
def layout
  unless request.subdomain.empty? && current_user.nil?
    self.class.layout 'admin'
  end
end

似乎上面的代码不起作用.但是当我执行以下操作时,它会工作.

def layout
  unless request.subdomain.empty?
    unless current_user.nil?
      self.class.layout 'admin'
    end
  end
end

我想通过删除一个except语句来简化代码.我该怎么办?

解决方法

除非事情相当于if!在你的情况下,那就是
if !(request.subdomain.empty? && current_user.nil?)

随你怎么便

if (!request.subdomain.empty? && !current_user.nil?)

使用布尔代数(De Morgan规则),可以重写

if !(request.subdomain.empty? || current_user.nil?)

使用除非

unless request.subdomain.empty? || current_user.nil?

猜你在找的Ruby相关文章