要求单个文件正常工作:
require Rails.root.join('lib/railsadmin_custom_functions', 'drive_clear.rb')
-
现在我正在尝试自动化并要求同一文件夹中的所有文件:
Dir[Rails.root.join('lib/railsadmin_custom_functions')].each {|file| require file }
所以我收到了这个错误:
dependencies.rb:229:in `require': cannot load such file -- /Users/me/projects/myproject/lib/railsadmin_custom_functions (LoadError)
我做错了吗?
答案 0 :(得分:2)
您的加载railsadmin_custom_functions
的代码作为文件。
'lib/railsadmin_custom_functions'
更改为
'lib/railsadmin_custom_fuctions/*.extention_of_files'
试试这个
Dir["#{Rails.root}/lib/railsadmin_custom_functions/*.rb"].each {|file| require file }
或
Dir.glob("#{Rails.root}/lib/railsadmin_custom_functions/*.rb")
输出
=> ["/Users/me/projects/myproject/lib/railsadmin_custom_functions/file1.rb", "/Users/me/projects/myproject/lib/railsadmin_custom_functions/file2.rb"]
如果您想要在子文件夹中的所有文件夹和文件中要求文件
,请尝试此操作Dir.glob("#{Rails.root}/lib/railsadmin_custom_functions/**/*.rb")
答案 1 :(得分:0)
您必须跳过.
和..
,它们是目录列表的条目。您可能还需要检查条目是否是目录并跳过它们:
Dir[Rails.root.join('lib/railsadmin_custom_functions')].each do |file|
next if File.directory?(file)
require file
end