是否有更简单的方法来编写这个ruby代码:
if @canonical_url
@canonical_url
else
request.original_url
end
答案 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
它被称为三元。