У меня проблема с активами в асинхронном приложении rails 3.1, мне удалось создать минимальный пример, показывающий мою проблему, но это мне не сильно помогло.
Приложение действительно простое, что я и сделал: - создать новое приложение с 3.1 (не rc) - добавить thin + Rack :: FiberPool - настроить bourbon (scss mixins) - запустить приложение
Теперь я запускаю сервер с «rails server thin», послечто любой запрос будет «слишком глубоким» с одной строкой обратной трассировки: /
Вот минимальное приложение: https://github.com/schmurfy/assets_crash
Вот обратная трассировка, которую я получаю при выполнениизапрос: http://dl.dropbox.com/u/1313066/github/crash_assets.png
Я попытался выяснить, где была проблема, которая привела меня в sass-rails в файле template_handlers.rb:
def sass_options(scope)
importer = self.importer(scope)
options = sass_options_from_rails(scope)
load_paths = (options[:load_paths] || []).dup
load_paths.unshift(importer)
# bnding.pry
options.merge(
:filename => eval_file,
:line => line,
:syntax => syntax,
:importer => importer,
:load_paths => load_paths,
:custom => {
:resolver => Resolver.new(scope)
}
)
end
Я попытался исследоватьс Pry (альтернатива irb), и то, что я нашел, еще более озадачивает: находясь в строке binding.pry, я могу вызвать слишком большой уровень стека с помощью:
{}.merge(:anything => Resolver.new(scope))
Результат немедленный, но я не могу найтичто-нибудь втот объект, который объяснил бы результат.
Любое руководство будет приветствоваться.