0

我有一个 Store 控制器和一个 Items 控制器,我希望每个项目都以 store/items/id 的形式出现在 store/ 下,我的路由文件是;

match 'store'=> 'store#index'

namespace :store do
   resources :items, only: [:show]
end

当我链接到商店页面上的某个项目时,我得到了正确的 url,例如“store/items/1”,但是当我点击链接时,我得到了错误

ActionController::RoutingError at /store/items/1 uninitialized constant Store

我不知道为什么我会收到这个错误...

4

1 回答 1

1

namespace汇总模块名称前缀路径前缀

但是在您的情况下,您没有名为Store. 它是一个控制器。也就是说,它正在寻找Store::ItemsController.

改用这个:

scope '/store' do
  resources :items, only: [:show]
end

这将为您提供诸如item_path和 URI 之类的路径/store/items/1

于 2013-05-08T17:16:07.443 回答