2017-10-02 8 views
-1

Ich kann die Routen nicht richtig bearbeiten, um Benutzer zu bearbeiten.Ich kann die Route zum Bearbeiten nicht bearbeiten

Im Folgenden sind _header.html.erb, das hat bearbeiten Benutzer verknüpfen:

<li><%= link_to "Settings", edit_user_path(current_user) %></li> 

und routes.rb:

Rails.application.routes.draw do 

    root 'static_pages#home' 

    get 'help' => 'static_pages#help' 
    get 'about' => 'static_pages#about' 
    get 'contact' => 'static_pages#contact' 
    get 'contact' => 'static_pages#contact' 
    get 'signup' => 'users#new' 
    get 'login' => 'sessions#new' 
    post 'login' => 'sessions#create' 
    delete 'logout' => 'sessions#destroy' 

    get '/all_users', :to => 'users#index' 

    get '/users/:id', :to => 'users#show', :as => :user 

    resources :users do 
    get user 
    end 

    resources :account_activations, only: [:edit] 
end 

EDIT

I

get 'edit' => 'static_pages#edit' 
hinzugefügt

und jetzt gibt es das gleiche Problem, aber es sagt, es gibt eine UrlGenerationError.

+0

Wenn keine der folgenden Antworten Ihnen geholfen hat, empfehle ich, die Frage zu aktualisieren und die gesamte Fehlermeldung hinzuzufügen, die Sie erhalten. – Oxfist

Antwort

0

Entfernen:

get '/all_users', :to => 'users#index' 

get '/users/:id', :to => 'users#show', :as => :user 

get user 
end 

und Verwendung:

resources :users do 
    resources :account_activations, only: [:edit] 
end 

Welche dir geben:

edit_user_account_activation GET /users/:user_id/account_activations/:id/edit(.:format)  account_activations#edit 
         users GET /users(.:format)           users#index 
           POST /users(.:format)           users#create 
        new_user GET /users/new(.:format)          users#new 
        edit_user GET /users/:id/edit(.:format)         users#edit 
         user GET /users/:id(.:format)          users#show 
           PATCH /users/:id(.:format)          users#update 
           PUT /users/:id(.:format)          users#update 
           DELETE /users/:id(.:format)          users#destroy 
0

Sie müssen nur Routen wie diese machen:

> resources :users do 
//extra routes goes here if you want to make out of it 
end 

Führen Sie in der rails-Konsole rake routes oder bundle exec rake routes aus, um die generierten Routen anzuzeigen.

Verwandte Themen