0

我有一个 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。

我的配置中是否缺少某些内容?

任何指针将不胜感激。

4

0 回答 0