2011-08-06 3 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 때 받고 있어요 call to 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

관련 문제