2016-06-24 1 views
0

На моем локальном сервере все работает нормально, но в производстве (EC2 Amazon) некоторые, но не все, мои шрифты и изображения не загружаются.Нет изображений и шрифтов с использованием Capistrano и Rails

Это application.rb:

require File.expand_path('../boot', __FILE__) 

# Pick the frameworks you want: 
require "active_model/railtie" 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
require "sprockets/railtie" 
require 'carrierwave' 
require 'carrierwave/orm/activerecord' 

# require "rails/test_unit/railtie" 

# Require the gems listed in Gemfile, including any gems 
# you've limited to :test, :development, or :production. 
Bundler.require(*Rails.groups) 

module TestApp 
    class Application < Rails::Application 
    #adding fonts to assets pipeline 
    config.assets.paths << Rails.root.join("app", "assets", "fonts") 
    # Settings in config/environments/* take precedence over those specified here. 
    # Application configuration should go into files in config/initializers 
    # -- all .rb files in that directory are automatically loaded. 
    config.autoload_paths << Rails.root.join('lib') 
    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. 
    # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. 
    # config.time_zone = 'Central Time (US & Canada)' 

    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. 
    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] 
    #config.i18n.default_locale = :ru 
    config.serve_static_files = true 
    config.serve_static_assets = true 
    config.assets.compile = true 
    end 
end 
+0

Не поддерживает ли несущая память изображения в папке 'public' (то же, что и скрепка)? – Vucko

ответ

1

Много раз активов загрузит в развитии, но как только в производстве в зависимости от того, как вы ссылаетесь на активы, ссылки могут сломаться. Убедитесь, что вы используете помощники ссылок на ресурсы, предоставленные Rails, для привязки к активам.

Примеры:

В регулярных просмотров:

<%= image_tag "rails.png" %> 

Вы можете использовать Sass-хелперы для ссылок шрифты и изображения в таблицах стилей, как:

src: font-url(...) 

image-url("rails.png") /** becomes url(/assets/rails.png) **/ 
image-path("rails.png") /** becomes "/assets/rails.png". **/ 

Если вы не используете SASS вы можете изменить свой css на css.erb и сделать что-то вроде:

.class { background-image: url(<%= asset_path 'image.png' %>) } 

Другие примеры ссылок на активы: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

+0

Thx для этого. Но скажите, пожалуйста, как я могу редактировать код в процессе производства? –

+0

Это зависит от того, как вы развернули код для производства. Если ваш код использует git или другую систему управления версиями, вам нужно будет зафиксировать и нажимать ваши изменения, а также вытащить изменения на систему prod и перезагрузить сервер. Драгоценные камни, такие как capistrano или mina, могут помочь автоматизировать это для вас. – beaorn

Смежные вопросы