2015-01-24 24 views
5

Rails motoru üzerinde çalışıyorum. Motor, public klasöründe bazı statik JS/CSS içerir ve bu varlıkların ana makine uygulaması tarafından birleştirilip sunulmasını istiyorum. Ben Raylar motorun kendi içinde kukla uygulamayı çalıştırdığınızda, veyapath aracılığıyla benim dosya sistemi üzerinde ayrı bir uygulamanın içinden motoru yüklemek İlginçtirRails motorunun statik varlıkları ana bilgisayar uygulamasında sunulmuyor.

initializer "static assets" do |app| 
    app.middleware.insert_before(::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public") 
end 

,:

benim engine.rb dosyaya bu katma

Her şey çalışıyor.

Ama bir kez ben RubyGems yayınlama ve

gem 'my-engine' 

statik varlıklar üzerinden başka uygulamada yüklemek tüm 404.

teşhis konusunda herhangi bir fikir? Statik varlıkların + sunulmaya devam etmesini sağlamak için ana makine uygulamasında yapmam gereken başka bir şey var mı? Üretim ortamı değil, çünkü geliştirme aşamasında bile çalışmıyor.

+0

Bu rayların hangi versiyonu? Raylar 4? –

cevap

4

benim .gemspec seçeneği konfigürasyon dosyasında dosyalara public unuttum:

Gem::Specification.new do |s| 
    .. 
    s.files = Dir["{app,config,db,lib,public}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"] 

Şimdi herşey çalışıyor!