Ruby on rails 与rails中的模块和模型名称混淆
我在项目中为Ruby on rails 与rails中的模块和模型名称混淆,ruby-on-rails,ruby,namespaces,Ruby On Rails,Ruby,Namespaces,我在项目中为客户实施了完整的CRUD系统。customers\u controller.rb的路径为 app/controllers/admin/customers_controller.rb 除此之外,我还必须添加新功能,因此我创建了一个新的控制器feature\u controller.rb(名称已更改),其文件路径如下 app/controllers/admin/customer/features_controller.rb 控制器内部的代码 module Admin module
客户实施了完整的CRUD系统。customers\u controller.rb
的路径为
app/controllers/admin/customers_controller.rb
除此之外,我还必须添加新功能,因此我创建了一个新的控制器feature\u controller.rb
(名称已更改),其文件路径如下
app/controllers/admin/customer/features_controller.rb
控制器内部的代码
module Admin
module Customer
class FeatureController < ApplicationController
def index; end
end
end
end
第21行是:
@customer = Customer.new customer_params
if @customer.save
....
然后我删除了新控制器和文件夹,但仍然是相同的错误
我在binding.pry中查看了Customer
类的类型,它说它是一个模块
更新
development.rb
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Do not eager load code on boot.
config.eager_load = false
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/*"].select{|f| File.directory? f}
应用程序.rb
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Do not eager load code on boot.
config.eager_load = false
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/*"].select{|f| File.directory? f}
使用常量解析运算符(:
)
将为您解决此问题,因为这样您可以告诉rails查找当前范围之外的客户常量。使用常量解析运算符(:
)
将为您解决此问题,因为这样您可以告诉rails查找当前范围之外的客户常量。您是否介意解释问题所在以及解决方案的帮助方式?然后我必须在旧代码中进行所有更改。我已经从项目中删除了新控制器,但它仍然与之冲突。你知道为什么吗?@Ahmadhamza我想这和自动加载有关。尝试重新启动服务器和spring。我猜也是这样,并重新启动了系统。但是没有运气。我试图停止spring,但它说,spring没有运行
@Ahmadhamza搜索有关在开发模式下自动加载的一些配置设置,您介意解释一下问题所在以及解决方案的帮助方式吗?然后我必须在旧代码中进行所有更改。我已经从项目中删除了新控制器,但它仍然与之冲突。你知道为什么吗?@Ahmadhamza我想这和自动加载有关。尝试重新启动服务器和spring。我猜也是这样,并重新启动了系统。但是没有运气。我试图停止spring,但它说,spring没有运行
@Ahmadhamza搜索有关在开发模式下自动加载的一些配置设置。有人知道吗?由于您在查看旧代码时遇到问题,请尝试关闭开发缓存。由于这个问题是最近几个月提出的,您可能正在使用Rails 5和Puma<代码>rails服务器--帮助
。请尝试以下命令:rails服务器--无开发缓存
。有人知道吗?由于您在查看旧代码时遇到问题,请尝试关闭开发缓存。由于这个问题是最近几个月提出的,您可能正在使用Rails 5和Puma<代码>rails服务器--帮助
。尝试以下命令:rails服务器--无开发人员缓存
。