在OS X上使用Pow和Rails 4。
我有SearchController
接受查询并在各种后端服务(YouTube,SoundCloud,Last.fm等)上搜索它。
我想把这些后端放在他们自己的文件/类中,以保持代码清洁,并且可以轻松添加更多后端。
所以我的问题是:我应该把这些文件放在哪里?我尝试创建一个名为backend
的文件夹,其中包含所有文件,并将其放在app/controller
和app/models
中。然后我将require 'backend/lastfm.rb'
放入我的控制器中,它可以工作。但它只加载一次,所以每次我做出改变时我都要touch tmp/restart.txt
。不理想!
将其放入lib
时会出现同样的问题,即使我尝试使用预先加载。
那么我在哪里可以放置这个文件夹,以便我可以使用SearchController
中的代码并让它在每次请求时重新加载文件(在开发模式下)?
谢谢!
答案 0 :(得分:1)
要自动加载您的文件夹,您应该添加application.rb
的路径:
class Application < Rails::Application
config.autoload_paths += %W(#{config.root}/app/backend/*)
end
现在您backend
文件夹自动加载,并且您不需要require
个文件。