Hop*_*eam 4 ruby ruby-on-rails
是否有更简单的方法来编写这个ruby代码:
if @canonical_url
@canonical_url
else
request.original_url
end
Run Code Online (Sandbox Code Playgroud)
Chu*_*uck 16
这种模式是or-operator的用途.
@canonical_url || request.original_url
Run Code Online (Sandbox Code Playgroud)
或者,如果第一个分支不仅仅是测试的结果,则条件运算符也可以:
some_condition ? @canonical_url : request.original_url
Run Code Online (Sandbox Code Playgroud)
cond ? then_branch : else_branch
Run Code Online (Sandbox Code Playgroud)
在你的情况下.
@cononical_url ? @cononical_url : request.original_url
Run Code Online (Sandbox Code Playgroud)
它被称为三元组.