Ruby on rails 路由错误未初始化常量控制器
我正在尝试学习RubyonRails,但我一直遇到这个错误 我的控制器是Ruby on rails 路由错误未初始化常量控制器,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,routes,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,Routes,Ruby On Rails 3.2,我正在尝试学习RubyonRails,但我一直遇到这个错误 我的控制器是 class Clasa9Controller < ApplicationController def multimi end def progresii end def functii end def vectori end def trigonometrie end def geometrie end end 和routes.rb get 'clasa_
class Clasa9Controller < ApplicationController
def multimi
end
def progresii
end
def functii
end
def vectori
end
def trigonometrie
end
def geometrie
end
end
和routes.rb
get 'clasa_9/multimi', to:"clasa_9#multimi", as:"multimi"
get 'clasa_9/progresii', to:"clasa_9#progresii", as:"progresii"
get 'clasa_9/functii', to:"clasa_9#functii", as:"functii"
get 'clasa_9/vectori', to:"clasa_9#vectori", as:"vectori"
get 'clasa_9/trigonometrie', to:"clasa_9#trigonometrie", as:"trigonometrie"
get 'clasa_9/geometrie', to:"clasa_9#geometrie", as:"geometrie"
devise_for :users
get 'pages/home'
get 'pages/clasa9'
get 'pages/clasa10'
get 'pages/clasa11'
get 'pages/clasa12'
get 'pages/about'
root 'pages#home'
我越来越
路由错误
未初始化常数Clasa9Controller
我试图通过查找已经发布在这里的内容来解决这个问题,但我就是解决不了。。。我不明白应该更改什么。如果您的文件位于app/controllers文件夹内,则可能是文件名问题。您的文件的名称应为clasa9_controller.rb 如果没有,则应通过创建初始值设定项或在config/development.rb中添加自动加载路径来加载文件 默认情况下,Rails加载:
如果您的文件位于app/controllers文件夹内,则可能是文件名问题。您的文件的名称应为clasa9_controller.rb 如果没有,则应通过创建初始值设定项或在config/development.rb中添加自动加载路径来加载文件 默认情况下,Rails加载:
看,这将是
clasa9
,但为什么用这样的方法运行它呢
Loading development environment (Rails 5.1.4)
2.3.4 :001 > "Clasa9Controller".underscore
=> "clasa9_controller"
它返回clasa9_控制器
,这意味着您的控制器是clasa9
而不是clasa9
,文件名将是clasa9_控制器.rb
然后您的路由
将是到:“clasa9#multimi”
这样
get 'clasa_9/multimi', to: "clasa9#multimi", as: "multimi"
#or
#get 'clasa_9/multimi', to: "clasa9#multimi", as: :multimi # removed doublw quotes from multimi
...
遵循这个方法应该会起作用。看,它应该是
clasa9
,但为什么用这样的方法运行它呢
Loading development environment (Rails 5.1.4)
2.3.4 :001 > "Clasa9Controller".underscore
=> "clasa9_controller"
它返回clasa9_控制器
,这意味着您的控制器是clasa9
而不是clasa9
,文件名将是clasa9_控制器.rb
然后您的路由
将是到:“clasa9#multimi”
这样
get 'clasa_9/multimi', to: "clasa9#multimi", as: "multimi"
#or
#get 'clasa_9/multimi', to: "clasa9#multimi", as: :multimi # removed doublw quotes from multimi
...
按照此操作,它应该会工作。您的控制器文件名是什么?它必须与您的控制器名称匹配-在您的情况下,我相信clasa9_controller.rb或clasa_9_controller.rb控制器文件的名称是什么?它必须与您的控制器名称匹配-在您的情况下,我相信clasa9_controller.rb或clasa9_controller.rbI面临相同的问题。我的控制器很好,你能告诉我怎么做你的第二个解决方案吗…………如果不行,那么你应该通过创建一个初始值设定项或在config/development.rbI中添加一个自动加载路径来加载文件。我面临着同样的问题。我的控制器很好,您能告诉我如何执行第二个解决方案吗…………如果没有,那么您应该通过创建初始值设定项或在config/development.rb中添加自动加载路径来加载文件