2011-02-10 56 views
3

,所以我有這樣的link_to乾淨的方式有條件地改變的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 %> 

回答

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> 
相關問題