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

前端之家收集整理的这篇文章主要介绍了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,而不是一个命名空间.

猜你在找的Ruby相关文章