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 に答える