Прекомпиляция Rails - отсутствует all.js - PullRequest
2 голосов
/ 17 октября 2011

Я новичок в рельсах и использую версию 3.1.0 и пытаюсь развернуться на героку.У меня есть очень простое приложение, которое я смог запустить и запустить на heroku после прохождения нескольких проблем.Я использовал команду

bundle exec rake assets:precompile

, чтобы заставить heroku загрузить ресурсы для приложения (я читал, что heroku требует этого для версии 3.1.0).Проблема в том, что когда я пытаюсь запустить приложение, сервер выдает ошибку

ActionController::RoutingError (No route matches [GET] "/assets/all.js"):

У меня есть все необходимые файлы JavaScript в public / javscripts , но я не могу найти ни одну версиюиз всех .js в каталоге активов.Я включил

config.assets.precompile << '*.js'

в config / application.rb , но безрезультатно.

Мне было интересно, может ли кто-нибудь сказать мне, как получить прекомпиляцию для созданияall.js в каталоге активов или если я совершенно не в курсе.у меня сложилось впечатление, что функция прекомпиляции скомпилировала все файлы javascript в один оптимизированный файл.

Кроме того, если у кого-нибудь есть хорошие ссылки для начинающего, чтобы понять, как работает функция прекомпиляции в rails, я был быочень признателен

Заранее спасибо.

1 Ответ

2 голосов
/ 17 октября 2011

Лучшим гидом является официальный путеводитель по рельсам .Существует также Railscast .

В двух словах, ваши Javascript-файлы идут в app / assets / javascript, откуда задача прекомпиляции будет их обрабатывать, и помещают затем в каталог public / assets,Вам не нужно менять опцию конфигурации прекомпиляции, если соблюдаются настройки по умолчанию.Не забудьте использовать правильные помощники для ссылки на ваши файлы.

Прочтите приведенные выше ресурсы, и если вы конвертируете существующее приложение, посмотрите Railscast и следуйте последнему разделу руководства - это должно указать вам правильное направление.

...