Можно попытаться выполнить длительные вычисления в потоках (см. JavaScript и Потоки ), хотя они не являются очень портативными.
можно также попытаться использовать некоторого профилировщика JavaScript для нахождения узких мест производительности. поддержки Firebug профильный JavaScript.
Нам нужно было это сделать, и есть очень простой способ.
переместите ваши модели во вложенные папки, а затем скажите rails загружать файлы из всех вложенных папок в вашей среде. rb файл:
config.load_paths += Dir["#{RAILS_ROOT}/app/models/*"].find_all { |f| File.stat(f).directory? }
Пространство имен не требуется, и модели могут упоминаться как обычные в вашем приложении
Пока я не найду лучшее решение, я создал init.rb в папке app / models:
app / models / init .rb
%w[blog].each do |folder|
path = [File.dirname(__FILE__), folder, "*.rb"].join('/')
Dir[path].each {|file| require file }
end
Служит для этой цели до сих пор.
Возможно, вы могли бы взглянуть на RailsEngines. Это не совсем то, что вам нужно, но может дать вам несколько идей.
Кроме того, если ваш сценарий работает нормально (вы также можете просто прочитать все файлы в каждой подпапке модели и потребовать их), я не буду » не вижу никаких проблем против этого.