3

だから私はこのlink_toを持っています

 <li><%= link_to "Home", root_path %></li>

しかし、管理者の場合は、以下のような別の場所に移動したい...これを実行できることはわかっていますが、よりクリーンな方法はありますか

 <% if admin_user %>
 <li><%= link_to "Home", admin_path(current_user) %></li>
 <% else %>
 <li><%= link_to "Home", root_path %></li>
 <% end %>
4

2 に答える 2

3

少しきれいに

<li><%= link_to "Home", admin_user ? admin_path(current_user) : root_path %></li>

または、おそらくコントローラーでadmin_userを計算した場所で、適切なパスを含む追加の変数を作成し、代わりにビューで使用します。例えば

# in controller
home_path = admin_user ? admin_path(current_user) : root_path

# in view
<li><%= link_to "Home", home_path %></li>
于 2011-02-10T02:05:50.227 に答える