0

Ich verwende derzeit Gerät für die Authentifizierung, die Benutzer.rb und Controller für Benutzer generiert, Willkommensseite (Root-Seite nach der Authentifizierung), die Hauptseite der Anwendung ist Ich muss die Gesamtzahl der vom Benutzer erstellten Benutzerkonten in der Anwendung anzeigen, die Anzahl der vom aktuellen Benutzer ausgewählten Benutzer und andere Details des aktuellen Benutzers. Ich kann nicht zur Benutzerseite routen, wenn ich dieselbe user.rb und user_controller.rb verwende.Benutzerdefinierte Benutzer-Seite für Schienen mit Devise - Verwenden von Rails 4 und Ruby - 2.2

routes.rb

root "welcome_pages#home" 
    devise_for :users 
    resources :subjects 
    resources :books 

application.html.erb

<%= link_to "Home", root_path %></li> 
    <li><%= link_to "Books", books_path %></li> 
    <li><%= link_to "Subjects", subjects_path %></li> 
    <li><%= link_to "Users", users_path %></li> 

Was bin ich? Ich erhalte folgende Fehler

No route matches [GET] "/users_path" 

Lassen Sie mich wissen, wenn ich weitere Informationen bereitstellen muss.

Vielen Dank im Voraus.

Antwort

2

Du musst separat Benutzer Ressource hinzufügen, so etwas wie:

devise_for :users 
resources :users, only: [:index, :show] do 
    ..... 
end 

Benutzer Controller

def index 
    @users = User.all 
end 
  1. bevorzugte Version seit _user.html.erb
  2. wiederverwendbar sein

Ansichten /users/index.html.erb

<%= render @users %> #this iterates thru all users and invokes _user partial 

views/users/_user.html.erb

<%= user.name %> #in this case you don't need @ since you used this rails shortcut @user.each do |user|. 
  1. Version

views/users/index.html.erb

<% @users.each |user| do %> 
    <%= user.name %> 
    .... 
<% end %> 
+0

Ich bekomme immer noch den ähnlichen Fehler – cyborg

+0

Wie rufen Sie den Link? Können Sie den Code anzeigen? –

+0

Wenn Routenfehler entfernt werden kann Ist es möglich, alle Benutzer in index.html.erb zu bekommen? Wenn das so ist, wie ? – cyborg