Подтвердить что ты не робот

Изображения и активы, не работающие на моем сервере производства на рельсах 3.1.0

Я переключил свой сервер на производство, и я не могу загрузить ни одно из моих изображений. Все работает отлично в режиме разработки, но когда я переключился на производство, все перестало работать, я включил server_static_assets и все еще ничего не работает. Любая помощь для этого

4b9b3361

Ответ 1

Вот несколько проблем, которые могут возникнуть у вас:

1 - Конфигурация вашего производства может быть неправильной. Это особенно вероятно, если вы начали с раннего релиза релиза 3.1 и обновлялись на этом пути. Предлагаемые варианты для production.rb немного изменились между версиями rc4 и 3.1.0.

Убедитесь, что ваши параметры production.rb включают в себя:

# Disable Rails static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true

2 - Возможно, вы забыли перекомпилировать свои активы

RAILS_ENV=production rake assets:precompile

3 - Возможно, вы забыли перезапустить веб-сервер, чтобы получить изменения в production.rb.

Ответ 2

Не забудьте запустить rake assets:precompile в рабочей среде.

Если вам нужно развернуть с Capistrano, вы можете использовать этот рецепт:

before "deploy:symlink", "assets:precompile"

namespace :assets do
  desc "Compile assets"
  task :precompile, :roles => :app do
    run "cd #{release_path} && rake RAILS_ENV=#{rails_env} assets:precompile"
  end
end

Ответ 3

Если вы обновляетесь до Rails 4 или в настоящее время используете его для производства, и загружаете изображения из css, тогда:

вместо

background-image: url('some_image.jpg');

делать

background-image: image-url('some_image.jpg');

См. http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass для справки