2014-05-12 2 views
0

프리 프로덕션 컴퓨터에서 레일을 실행할 때 정의되지 않은 메서드 오류가 발생합니다. 오류 메시지는 다음과 같습니다레일 정의되지 않은 ActionView :: Helpers :: TagHelper 메서드

undefined method `content_tag' for module `ActionView::Helpers::TagHelper' 
    (in /home/user/my-rails-app/app/assets/javascripts/templates/general/test.mustache) 

오류는 'application.js'가 포함 된 행에 레이아웃 파일에 나타납니다

<%= javascript_include_tag "application" %> 

스택 트레이스는 다음과 같습니다

kernel/delta/module.rb:39:in `alias_method' 
haml (4.0.5) lib/haml/helpers/action_view_mods.rb:74:in `__script__' 
haml (4.0.5) lib/haml/helpers/action_view_mods.rb:59:in `__script__' 
haml (4.0.5) lib/haml/helpers/action_view_mods.rb:38:in `__script__' 
haml (4.0.5) lib/haml/helpers/action_view_mods.rb:1:in `__script__' 
kernel/common/code_loader.rb:243:in `require' 
kernel/common/kernel.rb:705:in `require' 
activesupport (4.0.2) lib/active_support/dependencies.rb:229:in `require' 
activesupport (4.0.2) lib/active_support/dependencies.rb:214:in `load_dependency' 
activesupport (4.0.2) lib/active_support/dependencies.rb:229:in `require' 
haml (4.0.5) lib/haml/template.rb:3:in `__script__' 
kernel/common/code_loader.rb:243:in `require' 
kernel/common/kernel.rb:705:in `require' 
activesupport (4.0.2) lib/active_support/dependencies.rb:229:in `require' 
activesupport (4.0.2) lib/active_support/dependencies.rb:214:in `load_dependency' 
activesupport (4.0.2) lib/active_support/dependencies.rb:229:in `require' 
haml (4.0.5) lib/haml/railtie.rb:5:in `__script__' 
kernel/common/eval.rb:43:in `instance_eval' 
activesupport (4.0.2) lib/active_support/lazy_load_hooks.rb:38:in `execute_hook' 
activesupport (4.0.2) lib/active_support/lazy_load_hooks.rb:28:in `on_load' 
kernel/bootstrap/array.rb:66:in `each' 
activesupport (4.0.2) lib/active_support/lazy_load_hooks.rb:27:in `on_load' 
haml (4.0.5) lib/haml/railtie.rb:4:in `__script__' 
... 

이 오류는 ActionView::Helpers::TagHelper 모듈에 Haml이로드 될 때 content_tag이 정의되어 있지 않기 때문에 발생한다고 생각합니다. 관련 코드는 here입니다. 어떤 이유로 다른 환경에서는이 문제가 나타나지 않습니다. 누구든지이 문제에 대한 픽스/해결 방법을 제안 할 수 있습니까?

[업데이트]

이것은 개발 모드에서만 발생합니다. rbx-2.2.6, actionpack 버전 4.0.2 및 haml 4.0.5를 사용 중입니다.

+0

'haml-4.0.5/lib/haml/template/plugin.rb : 4'에서 초기화되지 않은 상수 Haml :: ActionView'를 호출합니다. 필요한 모든 것은'require 'haml/template/plugin'' 전에'action_view/template/handlers/erb'''m require'html/template/plugin'' –

답변

0

최근에 해결 방법을 찾았습니다. 동작보기가로드되었는지 확인한 다음 수동으로 haml을로드하면 제대로 작동합니다.

application.rb에서, 레일을 요구 한 후,하지만 번들 보석이 요구하기 전에`: 영감 이삭

require 'action_view' 
require 'haml' 

덕분에 나는시나 응용 프로그램에서 유사하지만 생산에 뭔가를보고 있어요