我有一个 Sinatra 应用程序,我正在尝试将其打包到 gem 中。到目前为止,我已经按照弗洛里安汉克的指示
我遇到了一个我似乎无法确定的问题......有时静态资产加载
正常(例如全新安装 gem,第一次运行服务器),但其他时候,例如在重新加载索引页面后,他们不会加载。
以下是相关的 Sinatra 配置/应用程序:
启动应用程序的可执行文件:
#!/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。
我的配置中是否缺少某些内容?
任何指针将不胜感激。