问题描述
我有一个新的 rails 6 应用程序,在 lib 文件夹中我有这个:
I have a new rails 6 application and in the lib folder I had this:
/lib/some_app_name/stripe/subscription/subscription_service.rb
/lib/some_app_name/stripe/subscription/subscription_service.rb
module Someappname # Someappname is also in my application.rb
module Stripe
class SubscriptionService
def initialize(a)
@a = a
end
end
end
end
然后我将some_app_name"文件夹移动到:
I then moved the 'some_app_name' folder to:
/app/some_app_name/stripe/subscription_service.rb
/app/some_app_name/stripe/subscription_service.rb
我读到/app 中的任何内容都会自动加载和重新加载,所以我搬到了这里.它也不能在/lib 中工作.
I read that anything inside of /app will be autoloaded and reloaded so I moved in here. It wasn't working in /lib also.
在我的 home_controller.rb 中我试过这个:
In my home_controller.rb I tried this:
ss = Someappname::Stripe::SubscriptionService.new("a")
我收到一条错误消息:
未初始化的常量 Someappname::Stripe::SubscriptionService
我在这里做错了什么?
推荐答案
我怀疑是 spring
,试试这个
bin/spring stop
然后启动rails console
,停止Spring会强制Rails
重新加载你的应用
And then start rails console
, stopping Spring will force Rails
to load your app fresh
另外,
如果你的模块名称是Someappname
,那么目录名应该是app/someappname
而不是some_app_name
if the name of your module is Someappname
, then the directory name should be app/someappname
and not some_app_name
希望有帮助!
这篇关于我将文件夹从 lib 移动到 rails 6 中的/app,由于加载路径问题,我似乎仍然无法实例化对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!