我的路线/资源和控制器出现错误.
我在routes.rb中有以下内容:
# routes.rb resources :users do resource :schedule end
我在控制器/用户/设置中有一个schedule_controller.rb,我认为应该是:
class Users::ScheduleController < ApplicationController # Controller methods here... end
运行耙子:路线显示
user_schedule POST /users/:user_id/schedule(.:format) schedules#create new_user_schedule GET /users/:user_id/schedule/new(.:format) schedules#new edit_user_schedule GET /users/:user_id/schedule/edit(.:format) schedules#edit GET /users/:user_id/schedule(.:format) schedules#show PUT /users/:user_id/schedule(.:format) schedules#update
但是,导航到/ users /:user_id / schedule会返回以下错误:
uninitialized constant SchedulesController
我唯一的想法是什么问题可能是与嵌套资源有关或声明一个资源,我会在某个地方出错.
我正在使用帮手
new_user_schedule_path(current_user)
当链接到我的“新”视图.
解决方法
应该是SchedulesController,而不是Users :: ScheduleController.当路由为
namespaced with
namespace
时,控制器只能命名空间.控制器名称也应该是复数.
你创造的是一个nested resource,而不是一个命名空间.