我找的良好格局爲具有取決於用戶的狀態和當前路徑導航欄。Rails的導航欄取決於用戶的狀態和路徑
在我們的應用中有一個導航欄,顯示已登錄用戶的用戶特定的選項(我的個人資料,我的工作,...等)的評價和來賓用戶特定的選項(它是如何工作的,成爲會員, ...等等)。
現在我們也有一個演示的用戶,誰應顯示的用戶特定的選項時,他是在路徑和來賓的具體選項的子集時,他是在不同的路徑。
我當前的解決方案是存儲在數組中,並且檢查是否當前路徑是在陣列中的功能的白名單中。
ALLOWED_FOR_DEMO = ['profile', 'demo_jobs', 'jobs']
def allowed_for_demo?
ALLOWED_FOR_DEMO.each { |path|
return true if request.path.include? path
}
return false
end
然後在標題視圖中檢查。
<% if allowed_for_demo? %>
<div class="navbar">
<div class="navbar-inner">
<div class="container">
</div>
</div>
</div>
<% end %>
這種模式是非常糟糕的,如果你問我,所以如果任何人有一個更好的模式對於這一點,將是非常讚賞。