如果

时间:2016-02-09 18:18:06

标签: ruby-on-rails rubocop

我在我的应用程序中使用Rubocop,它为此建议Use a guard clause instead of wrapping the code inside a conditional expression。 Plz建议一种干净的方法来重写它。

 if (geolocation_points.exists? || geolocation_boxes.exists?)
  self.geolocation = true
 end

1 个答案:

答案 0 :(得分:2)

假设代码在一个方法中,你会写一个这样的保护条件:

def my_fancy_method
  return unless geolocation_points.exists? && geolocation_boxes.exists?
  self.geolocation = true
end

但是,如果geolocation应该始终为true或false,我可能会按如下方式编写它,它在没有if或保护条件的情况下工作:

def my_fancy_method
  self.geolocation = geolocation_points.exists? && geolocation_boxes.exists?
end