我正在尝试使用 url_for 扩展,以便我的应用程序可以准确地找到我的静态资产(也尝试了静态资产扩展,但它也抱怨了同样的问题)。
问题是这样的:
undefined method `url_for' for Sinatra::Raffler:Class (NoMethodError)
现在,根据 url_for README,我列出了所需的模块:
require 'rubygems'
require 'sinatra/base'
require 'data_mapper'
require 'lib/authorization'
require 'pony'
gem 'emk-sinatra-url-for'
require 'sinatra/url_for'
但是当我尝试调用 url_for 时,我仍然收到 NoMethodError
关于助手,我尝试了几种不同的方法。首先,我有一个授权扩展的助手块:
helpers do
include Sinatra::Authorization
end
所以,我想我可以在其中包含 url_for 助手:
helpers do
include Sinatra::Authorization
include Sinatra::UrlForHelper
end
但这并没有解决问题,所以我只是添加了以下行:
helpers Sinatra::UrlForHelper
在那之后,最初的助手确实阻止了,但仍然没有解决方案。