문제

나는 Snow Leopard의 새로운 설치에 Ruby on Rails를 설립하고 있습니다. 전투 후 (및 고동) MySQL 및 스핑크스 문제, 나는 Haml과 관련된 어리석은 오류에 갇혀 있습니다.

본질적으로 Haml을 사용하는 모든 뷰에 대해 누락 된 템플릿 오류가 발생합니다. 빈 xxx.html.erb 파일을 추가 할 수 있고 (빈) 페이지가 잘로드 될 수 있습니다. 그러나 xxx.html.haml은 해당 파일이 적절한 디렉토리에 확실히 존재하더라도 오류를 발생시킵니다.

개발 서버의 오류는 다음과 같습니다.

ActionView::MissingTemplate (Missing template sections/index.erb in view path app/views):
  haml (2.2.4) rails/./lib/sass/plugin/rails.rb:19:in `process'

나는 Haml Gem (2.2.4), Rails Gem (2.3.4) 및 Ruby 1.8.7을 사용하고 있습니다. 나는 Haml -Rails를 달렸다. ROR 앱 루트 디렉토리에서; init 파일은 공급 업체/플러그인/Haml 디렉토리에 있습니다. IRB를 통해 "요구 사항 '=> true를 확인했습니다.

모든 도움이 감사하겠습니다!

Yaraher에 대한 응답으로 :

Un- 및 Re-Installing을 시도했는데 RDOC를 제외하고 오류가 발생하지 않았습니다 ( "메인 페이지 readme.rdoc을 찾을 수 없습니다").

스크립트/콘솔에서 :

>> require 'haml'
=> []

업데이트:

이 프로젝트에서 HAML과 함께 작동하는 것으로 알려진 기존 레일의 레일을 설치하면 문제가 "고정 된"것으로 보입니다. 나는 여전히이 문제에 대한 진정한 대답을 듣고 싶다. 나는 2.3.2에 갇히고 싶지 않다.

sudo gem install -v 2.3.2 rails

Update 2:

이것은 철도 2.3.2와 2.3.4의 차이로 인해 발생합니다. 두 보석이 설치된 상태에서 환경에서 사용되는 세트를 설정할 수 있습니다 .RB 파일. Haml은 2.3.2에서 잘 작동하며 2.3.4로 설명 된대로 브레이크입니다.

도움이 되었습니까?

해결책

이 질문에 대한 창피한 대답을위한 시간 :

인식하지 못하는 레일 2.3.2와 2.3.4 사이에는 차이가 있습니다. xxx.haml.html Haml (또는 ERB)이 구문 분석 해야하는 파일로 파일; 이것은 2.3.2에서 잘 작동했습니다. Haml 파일의 이름은 항상 이름을 지정해야합니다 xxx.html.haml Anwyay, 그래서 이것은 버그가 아닙니다.

신선한 스노우 레오파드 설치에서 "파일 내선 숨기기"옵션이 기본적으로 켜졌기 때문에 이것이 문제라는 것을 몰랐습니다. 그래서 Finder를 통해 파일 확장자를 전환하려고 할 때 html.haml 이것을 테스트하기 위해 실제로 변경했습니다 haml.html.haml 또는 약간의 말도 안됩니다.

이야기의 도덕 : 나는 다음 스크립트를 운영했고 이제 Haml은 Rails 2.3.4와 함께 작동합니다.

path = '/path_to_rails_app/views/'
dir = Dir.new(path)
dir.each do |d|
  if File.directory?(path+d)
    Dir.new(path+d).each do |f|
      if (f =~ /.*\.haml\.html$/) != nil
        File.rename(path+d+'/'+f, path+d+'/'+f.gsub('haml.html', 'html.haml'))
      end
    end
  end
end

다른 팁

템플릿의 이름을 바꾸십시오

sections/_index.haml

또는

sections/__index.haml
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top