0
我使用AssetPack來處理我的Sinatra應用程序中的公共資產。由於該應用在網站上以嵌入式廣告的形式工作,因此我需要聲明css資源的絕對路由。這是我當前的代碼:在Sinatra中使用AssetPack訪問請求對象
require 'rubygems'
require 'sinatra'
require 'rack'
require 'sinatra/assetpack'
class Ads < Sinatra::Application
assets {
css :mybanner, "http://#{request.host_with_port}/css/styling.css", [
"http://#{request.host_with_port}/css/styling.css"
]
}
的問題是,調用request.host_with_port
時,我收到以下錯誤
NameError: undefined local variable or method `request' for # <Sinatra::AssetPack::Options:0x007fc1f88b0a80>
我不知道爲什麼request
不工作。任何想法?
它不起作用,因爲您從Sinatra應用程序範圍之外調用它。如果你注意,你會發現它是從'Sinatra :: AssetPack :: Options'實例調用的。 – 2012-08-03 10:38:44