我发现在我的Sinatra应用程序中,当我require 'sinatra',我可以按预期访问我的公共文件夹,但是当我require 'sinatra/base'不能.这是我的相关代码(直到我更改为止/base):
config.ru
root = ::File.dirname(__FILE__)
require ::File.join( root, 'app' )
run MyApp.new
Run Code Online (Sandbox Code Playgroud)
app.rb
require 'sinatra'
require 'sinatra/namespace'
require 'haml'
class MyApp < Sinatra::Application
# ...
end
require_relative 'models/init'
require_relative 'helpers/init'
require_relative 'routes/init'
Run Code Online (Sandbox Code Playgroud)
script.haml
%script(type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js")
%script(type="text/javascript" src="/js/table.js")
%link(rel="stylesheet" type="text/css" href="/css/table.css")
Run Code Online (Sandbox Code Playgroud)
是的,我有正确的目录结构.就像我说的,它有效require sinatra.任何人都知道为什么会发生这种情况以及我能做些什么来解决它?
Ian*_*son 11
要求Sinatra::Base不设置任何的默认配置设置,要求Sinatra做.您set :public_folder ...自己需要达到合适的价值,例如:
set :public_folder, 'public'
Run Code Online (Sandbox Code Playgroud)