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 で応答します。
構成に欠けているものはありますか?
どんなポインタでも大歓迎です。