2017-02-08 3 views
0

こんにちはエベロヨネ私が/categoriesに行くとUsersController#showを指します。それはここでCategoriesController#indexURLが別のコントローラを指しています

に行くべきである

は私のルートのglimpsです。

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 

ありがとうございました。なぜなら、あなたの最初のルートの

答えて

3

その:

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

これはどの単一のスラッシュやテキストパスを取り、users#showに送信されます。したがって、カテゴリの場合は:id、パラメータに文字列 'categories'を入力して、ユーザshowメソッドに移動します。 resources :usersブロックの外側に配置されたリソースパスでも同じ結果が得られるはずです。

私は簡単なあなたのルートを維持し、あなたが本当にそのルートを使用したい場合は、他のリソースが最初に確認されますように、私はあなたのルートファイルの一番下にそれを固執するだろう、

resources :users, only: :show 

を使用して、またはお勧めし

、最後に処理されたものです

関連する問題