1

我使用简单的三元运算符编写了一些代码:

<%= (current_user.is_company?) 
    ? company_path(current_user.character)
    : individual_path(current_user.character) %>

我可以把这个表达式写得更简单更简洁吗?

4

2 回答 2

1

没有什么可以简化的,但这是我能做的:

send((current_user.is_company? ? :company_path : :individual_path),
     current_user.character)
于 2012-08-10T14:12:16.990 回答
0

我认为你不能简化它,但你可以做的是把代码放在你的控制器中,然后在视图上渲染变量:

@real_path = current_user.is_company? ? 
  company_path(current_user.character) : 
  individual_path(current_user.character)

<%= @real_path %>

我相信它对视图的攻击性较小。

于 2012-08-10T12:25:40.017 回答