2013-11-21 24 views
0

我的問題假定具體的答案,但它可能不是但準確。我應該在哪裏設置current_user,以便我不會丟失關鍵錯誤?

我創建了一個路線:

get 'users/:id/groups/' => 'users#groups', as: "my_groups" 

,但是當我去訪問此路徑,有條件,在視圖中,我得到一個異常:

ActionController::UrlGenerationError at/
No route matches {:controller=>"users", :action=>"groups"} missing required keys: [:id] 

下面是部分與違規行:

<% if user_signed_in? %> 
    <li id="groups-menu" class="dropdown"> 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown"> 
     Groups <b class="caret"></b> 
    </a> 
    <ul class="dropdown-menu"> 
    #offending line: 
     <li><%= link_to 'My Groups', my_groups_path %></li> 
     <li><%= link_to 'Create a Group', new_group_path %></li> 
    </ul> 
    </li> 
    <li><%= link_to 'Logout', destroy_user_session_path, :method=>'delete' %></li> 
<% else %> 
    <li><%= link_to 'Login', new_user_session_path %></li> 
<% end %> 
<% if user_signed_in? %> 
    <li><%= link_to 'Edit account', edit_user_registration_path %></li> 
<% end %> 
<% if user_signed_in? %> 
    <% if current_user.has_role? :admin %> 
    <li><%= link_to 'Admin', users_path %></li> 
    <% end %> 
<% end %> 

似乎沒有current_user設置,也許?

目前還不清楚如果user_signed_in?方法正常工作,這會如何破壞。

回答

2

您需要在傳遞:id參數的URL輔助函數

<li><%= link_to 'My Groups', my_groups_path(current_user) %></li> 
相關問題