0

gem にパッケージ化しようとしている Sinatra アプリがあります。これまでのところ、Florian Hankeの指示に従いました。

突き止められないように見える問題があります...静的アセットが正常に読み込まれる場合があり
ます(gemの新規インストール、初めてサーバーを実行する場合など)が、インデックスページをリロードした後などの場合もあります。それらはロードされません。

関連するシナトラ構成/アプリは次のとおりです。

アプリを起動する実行可能ファイル:

#!/usr/bin/env ruby
#

begin
  require 'rubygems'
  require 'sinatra/base'
  require 'haml'
  require 'coffee-script'
  require 'sass'
  require 'json'
  require 'thin'

  require 'application/sass_engine'
  require 'application/coffee_engine'
  require 'application/visualisation'

  #start the application
  require 'application/application'
end

そして、これがサーバーを実行するための呼び出しを含む私のメイン Sinatra アプリです。

class Visualiser < Sinatra::Base

    use SassEngine
    use CoffeeEngine

    set :static, true                             
    set :public_dir, File.expand_path('..', __FILE__) 

    set :views,  File.expand_path('../views', __FILE__) 
    set :haml, { :format => :html5 }                    

    get '/' do
      haml :'/index'
    end

end

Visualiser.run!

次のような構造で整理されたディレクトリがあります。

bin/
   visualiser
lib/
   application/
      images/
      javascripts/
      stylesheets/
      views/
      application.rb
      ..

images ディレクトリにはファイルajax-loader.gifが含まれていますが、Gem を実行すると (初期ロード後、つまり更新時)、サーバーは /images/ajax-loader.gif に 404 で応答します。

構成に欠けているものはありますか?

どんなポインタでも大歓迎です。

4

0 に答える 0