2017-02-08 5 views
0

Hallo Everoyone, wenn ich gehe zu /categories zeigt es auf UsersController#show.URL zeigt auf verschiedene Controller

Es sollte CategoriesController#index

Hier zu gehen ist ein glimps meiner Routen.

Rails.application.routes.draw do 
    get ':id' => 'users#show', as: :user_profile 

    resources :users, path: ':username' do 
    collection do 
     resources :outfits 
     resources :cart_items, only: [:create, :index, :destroy] 
     resources :relationships, only: [:create, :destroy] 
     resources :addresses, only: [:new, :create, :edit, :update, :destroy] 
     resources :paypals, except: [:index] 
    end 
    end 

    resources :categories 
end 

Vielen Dank für jede Hilfe im Voraus.

Antwort

3

Seine wegen Ihrer ersten Route:

get ':id' => 'users#show', as: :user_profile 

Dies wird jeder einzelner Schrägstrich und Textpfad zu nehmen und es zu users#show senden. Also im Falle von Kategorien gibt es die Zeichenfolge "Kategorien" in die: ID, Parameter und gehen Sie zu Ihrem Benutzer zeigen Methode. Ich vermute, Sie werden das gleiche Ergebnis mit allen Ressourcenpfaden finden, die Sie außerhalb Ihres resources :users Blocks platziert haben.

würde ich vorschlagen, Ihre Routen einfach und mit

resources :users, only: :show 

oder zu halten, wenn Sie wirklich diesen Weg benutzen wollen, ich es an der Unterseite der Routen-Datei bleiben würde, so dass andere Ressourcen zuerst erhalten überprüft, und es ist das zuletzt bearbeitete

Verwandte Themen