微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐