2014-09-12 42 views
0

需要單個文件工作正常:軌 - 要求單文件的工作,但要求所有目錄的不

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) 

我做錯了什麼?

回答

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") 
+0

第一個選項奏效,謝謝! – user3175226 2014-09-12 13:17:16

+0

@ user3175226很高興爲您提供幫助。 – 2014-09-12 13:28:03

0

您必須跳過...,這是目錄列表的條目。您可能還需要檢查TN如果項是目錄,並跳過它們,以及:

Dir[Rails.root.join('lib/railsadmin_custom_functions')].each do |file| 
    next if File.directory?(file) 
    require file 
end 
+0

不明白,所有文件夾中的文件和文件。你能舉一些例子嗎? – user3175226 2014-09-12 13:02:58

+0

@ user3175226編輯成回答的問題 – ckruse 2014-09-12 13:09:42