2011-08-06 17 views
2

私のアプリケーションが静的資産を正確に見つけることができるように(url_for拡張子を使用しようとしています(静的資産拡張も試しましたが、同じ問題を訴えました)。なurl_for READMEに従って、今、私は必要なモジュールがリストされているんだアプリケーションで「url_for」が定義されていないのはなぜですか?

undefined method `url_for' for Sinatra::Raffler:Class (NoMethodError) 

問題はこれです

require 'rubygems' 
require 'sinatra/base' 
require 'data_mapper' 
require 'lib/authorization' 
require 'pony' 
gem 'emk-sinatra-url-for' 
require 'sinatra/url_for' 

しかし、私はまだNoMethodErrorとき、私を取得していますurl_forに電話してください

私はヘルパーに関していろいろなことを試しました。だから、

helpers do 
    include Sinatra::Authorization 
end 

、私はそこになurl_forヘルパーを含めると考えていた:まず、私はヘルパーは、認可の拡張子をブロックしてい

helpers do 
    include Sinatra::Authorization 
    include Sinatra::UrlForHelper 
end 

しかし、それは問題が解決しなかったので、私その最初のヘルパーがブロックしても解決していない場合は、

helpers Sinatra::UrlForHelper 

を追加しました。

答えて

2

あなたはシナトラ::ベースをサブクラス化している場合は、明示的にヘルパーを含める必要があります。

class Foobar < Sinatra::Base 
    helpers Sinatra::UrlForHelper 
end 
+0

は私が明示的にヘルパーを含むを参照して物事のカップルを試してみました。まだダイスはありません。 (詳細については上記の編集を参照してください)。あなたの考えをありがとう! – YuKagi

+0

私はそれをどのように動作させることができたのか分かりませんが、私はしました。私はあなたが私に示した線を使用しています。 ;)私はまだ私の静的資産を取得しようとしているに固執していますが、私はそれについて別の質問を投稿します。再度、感謝します! – YuKagi

関連する問題