Hello Everoyone,当我转到/categories
时,它指向UsersController#show
。
应该转到CategoriesController#index
这是我的路线的一瞥。
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
感谢您提前提供任何帮助。
答案 0 :(得分:3)
这是因为你的第一条路线:
get ':id' => 'users#show', as: :user_profile
这是任何单斜杠和文字路径,并将其发送到users#show
。因此,在类别的情况下,它将字符串'categories'输入到:id,参数并转到您的用户show方法。我怀疑您会在resources :users
块之外的任何资源路径中找到相同的结果。
我建议您使用
简化路线resources :users, only: :show
或者,如果你真的想使用那条路线,我会把它贴在路线文件的底部,以便先检查其他资源,这是最后一次处理的