Предварительная компиляция ресурсов с Rails 3.1

#ruby-on-rails #ruby-on-rails-3.1 #asset-pipeline

#ruby-on-rails #ruby-on-rails-3.1 #ресурс-конвейер

Вопрос:

Я добавляю изменения в Heroku и получаю…

рейк прерван!
не удалось подключиться к серверу: отказано
в подключении Сервер работает на хосте «127.0.0.1» и принимает
соединения TCP / IP через порт 5432?

Когда я просматриваю документацию Heroku здесь, она сообщает мне, что мне нужно «настроить несуществующую базу данных в вашей локальной конфигурации / database.yml», я не уверен, как создать «несуществующую базу данных»? Я новичок и был бы признателен за любую помощь, которую вы можете мне оказать. Спасибо.

Ответ №1:

На Heroku вы должны установить эту строку в своем config / application.rb:

 config.assets.initialize_on_precompile = false
  

http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

Для более быстрой предварительной компиляции ресурсов вы можете частично загрузить свое приложение, установив для config.assets.initialize_on_precompile значение false в config/application.rb, хотя в этом случае шаблоны не могут видеть объекты или методы приложения. Heroku требует, чтобы это значение было false.

Комментарии:

1. необходимо зафиксировать приложение после добавления примерно этой строки.

Ответ №2:

Это означает, что введите имя базы данных, которая на самом деле не существует в вашей локальной среде разработки. Затем попробуйте запустить rake assets:precompile

Вы моделируете тот же сценарий локально (недоступная база данных).

Используете ли вы Devise в этом приложении? У него была известная проблема, похожая на эту. Возможно, вы захотите обновить этот драгоценный камень.

Комментарии:

1. Я тоже видел эту проблему, но я не использую Devise. Нужно ли мне помещать в БД что-либо, чего не существует? В настоящее время у меня есть один для разработки, тестирования и производства… разработка: адаптер: sqlite3 база данных: db/development.sqlite3 пул: 5 время ожидания: 5000

Ответ №3:

Я столкнулся с той же проблемой. Похоже, что по какой-то причине переменная среды DATABASE_URL не установлена во время предварительной компиляции ресурсов. Обходным путем является установка DATABASE_URL в файле production.rb. ENV["DATABASE_URL"] = <your db url> Это должно решить проблему.