我有一个Sinatra应用程序,我试图打包在一个宝石。到目前为止,我已按照Florian Hanke
的说明进行操作我遇到的问题似乎无法确定......有些时候静态资产加载了 很好(例如,新安装的宝石,第一次运行服务器)但其他时候,例如重新加载索引页面后,它们将无法加载。
以下是相关的Sinatra配置/ app:
启动应用程序的可执行文件:
#!/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时(在初始加载之后,即在刷新时),服务器以404响应/images/ajax-loader.gif。
我的配置中是否缺少某些内容?
任何指针都会非常感激。