我正在使用新的rails应用程序,并在RAILS_ROOT/lib
中创建了一个小实用程序类。我在一个控制器中使用此类,require
。在本地这个类是正确加载的,但是当我在heroku上部署应用程序时,它崩溃了:
LoadError(没有要加载的文件 - MyUtilityClass)
有什么想法吗?
更新:
我发现了问题。在我的控制器中,我做了一个'require“MyUtilityClas”',这在当地工作正常。在heroku上我需要做一个'require'/lib/my_utility_class.rb“'。嗯......我真的不明白为什么其实......
答案 0 :(得分:6)
您希望require 'my_file_to_require'
假设您已正确命名文件。
Require需要文件名,而不是模块/类名,所以:
require 'MyUtilityClass' # wrong
错了,但
require 'my_utility_class' # correct
是正确的,再次假设你已经坚持正常的ruby / rails文件命名约定。
答案 1 :(得分:1)
你检查过Heroku日志吗?!
答案 2 :(得分:1)
您是否尝试在部署后重新启动应用?您可以使用以下命令:
heroku restart