ruby-on-rails – 未初始化常数“控制器名称”

我的路线/资源和控制器出现错误.

我在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,而不是一个命名空间.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...