Я был круглый и здесь, пытаясь получить активы для предварительной компиляции на моем производственном сервере (простая установка ubuntu с ruby 1.9.2 и Rails 3.1.1 и попытка 3.1.2RC с новыми звездочками 2.10 также).
"require_tree аргумент должен быть каталогом". Я видел другие проблемы, связанные с этим в стеке, но ситуация не совсем то же самое, и ни одно из предлагаемых решений не помогло - например, создать файл-заглушку в подпапке, а затем ссылаться только относительно на эту точку. Не повезло.
И, конечно же, это отлично работает на всех машинах разработки (Mac, но с идентичными конфигурациями, даже для сопоставления драгоценных камней для драгоценных камней), в производстве env.
Вот мой /app/assets/javascript/application.js:
//= require ../../views/app/manifest
//= require_self
Не так много. В основном просто указывая на реальный файл манифеста для области приложения (да, не совсем в коробке с ванилью Rails, но...)
Вот мой манифест stub в моих представлениях /admin (/views/app/manifest.coffee.js):
# = require ./app
# = require_tree ./models
# = require_directory ./views <- or using require_directory, either would work fine.
Как я уже сказал, в dev env нет никаких проблем. Консоль активов компилируется "на лету", и все отлично. Запуск, рейк-активы: прекомпиляция на dev-машине, никаких проблем.
Я отправляю его на производственную машину и запускаю тот же самый код, и я получаю:
require_tree аргумент должен быть каталогом
Здесь должно быть крошечное крошечное различие, которое я просто не вижу. Любая помощь будет высоко оценена!