重构rails if if语句与单行返回?

Rub*_*tic 3 refactoring if-statement ruby-on-rails ruby-on-rails-3

我重构我的旧代码部分,有很多返回多行,如:

if ...
 return false
else
 return true
end
Run Code Online (Sandbox Code Playgroud)

如何重构使用单行并返回true或false?

apn*_*ing 8

foo是你右边的东西if,然后你可以替换为:

foo ? false : true
Run Code Online (Sandbox Code Playgroud)

这被称为三元运算符.

请注意,在您的情况下,您可以简单地执行:

!foo
Run Code Online (Sandbox Code Playgroud)

  • `redirect_to request.referer?:back:root_path` (4认同)