路由错误未初始化的常量控制器
Routing Error uninitialized constant controller
我正尝试在 rails 上学习 Ruby,但我一直收到此错误。
我的控制器是
class Clasa9Controller < ApplicationController
def multimi
end
def progresii
end
def functii
end
def vectori
end
def trigonometrie
end
def geometrie
end
end
clasa9.html.erb
<button class="btn"><%= link_to "", multimi_path %></button>
rails 航线:
multimi GET /clasa_9/multimi(.:format) clasa_9#multimi
progresii GET /clasa_9/progresii(.:format) clasa_9#progresii
functii GET /clasa_9/functii(.:format) clasa_9#functii
vectori GET /clasa_9/vectori(.:format) clasa_9#vectori
trigonometrie GET /clasa_9/trigonometrie(.:format) clasa_9#trigonometrie
geometrie GET /clasa_9/geometrie(.:format) clasa_9#geometrie
和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'
我正在
Routing Error
uninitialized constant Clasa9Controller
我试图通过查找此处已发布的内容来解决此问题,但我无法解决...我不明白我应该更改什么。
如果您的文件位于 app/controllers 文件夹内,则可能是文件名问题。您的文件名称应为 clasa9_controller.rb。
如果不是,那么您应该通过创建初始化程序或在 config/development.rb
中添加 autoload_path 来加载文件
Rails 默认加载:
启动时存在的应用程序和引擎中的应用程序的所有子目录。例如,app/controllers。它们不需要是默认目录,任何像 app/workers 这样的自定义目录自动属于 autoload_paths.
应用程序和引擎中名为 app/*/ 的任何现有二级目录。
目录test/mailers/previews.
看起来应该是 clasa9
但为什么当你 运行 使用 underscore
方法时会这样
Loading development environment (Rails 5.1.4)
2.3.4 :001 > "Clasa9Controller".underscore
=> "clasa9_controller"
它 returns clasa9_controller
这意味着您的控制器是 clasa9
而不是 clasa_9
并且文件名将是 clasa9_controller.rb
那么您的 routes
将像这样 to: "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
...
按照这个应该可以。
我正尝试在 rails 上学习 Ruby,但我一直收到此错误。
我的控制器是
class Clasa9Controller < ApplicationController
def multimi
end
def progresii
end
def functii
end
def vectori
end
def trigonometrie
end
def geometrie
end
end
clasa9.html.erb
<button class="btn"><%= link_to "", multimi_path %></button>
rails 航线:
multimi GET /clasa_9/multimi(.:format) clasa_9#multimi
progresii GET /clasa_9/progresii(.:format) clasa_9#progresii
functii GET /clasa_9/functii(.:format) clasa_9#functii
vectori GET /clasa_9/vectori(.:format) clasa_9#vectori
trigonometrie GET /clasa_9/trigonometrie(.:format) clasa_9#trigonometrie
geometrie GET /clasa_9/geometrie(.:format) clasa_9#geometrie
和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'
我正在
Routing Error uninitialized constant Clasa9Controller
我试图通过查找此处已发布的内容来解决此问题,但我无法解决...我不明白我应该更改什么。
如果您的文件位于 app/controllers 文件夹内,则可能是文件名问题。您的文件名称应为 clasa9_controller.rb。
如果不是,那么您应该通过创建初始化程序或在 config/development.rb
中添加 autoload_path 来加载文件Rails 默认加载:
启动时存在的应用程序和引擎中的应用程序的所有子目录。例如,app/controllers。它们不需要是默认目录,任何像 app/workers 这样的自定义目录自动属于 autoload_paths.
应用程序和引擎中名为 app/*/ 的任何现有二级目录。
目录test/mailers/previews.
看起来应该是 clasa9
但为什么当你 运行 使用 underscore
方法时会这样
Loading development environment (Rails 5.1.4)
2.3.4 :001 > "Clasa9Controller".underscore
=> "clasa9_controller"
它 returns clasa9_controller
这意味着您的控制器是 clasa9
而不是 clasa_9
并且文件名将是 clasa9_controller.rb
那么您的 routes
将像这样 to: "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
...
按照这个应该可以。