Ruby简写为简单的if else条件

时间:2013-12-24 19:03:49

标签: ruby-on-rails ruby

是否有更简单的方法来编写这个ruby代码:

if @canonical_url
    @canonical_url
else
    request.original_url
end

2 个答案:

答案 0 :(得分:16)

这种模式是or-operator的用途。

@canonical_url || request.original_url

或者,如果第一个分支不仅仅是测试的结果,那么条件运算符也是如此:

some_condition ? @canonical_url : request.original_url

答案 1 :(得分:5)

cond ? then_branch : else_branch

在你的情况下。

@cononical_url ? @cononical_url : request.original_url

它被称为三元。