Моя идея состояла бы в том, чтобы (и я хотел бы как можно скорее упаковать его в гем), разделить среду разработки на среды разработки с интерфейсом и бэкэндом:
интерфейс: - классы кэша -Компилируйте и обслуживайте ресурсы на лету - используйте для javascript + css
backend: - прекомпилируйте ресурсы (например, при запуске сервера) - перезагружайте классы и т. д. при каждом запросе
вы можете сделать это в основномдобавив четвертый файл в config/environments
с соответствующими инструкциями config, но вам придется перезапускать сервер, когда вы переключаетесь между внешним и внутренним режимами