내 파일 구조는 다음과 같습니다가드
Guardfile
resolution1/menu/page1.haml
resolution1/menu/some_partial.haml
resolution2/...
resolution3/...
이제 page1.haml 안에 내가 그 안에 부분 HAML 렌더링 할 선을 (내가 레일을 사용하고 있지 않다)
이 Guardfile이 자리하고있는 곳입니다 내 작업 디렉토리이기 때문에Error: No such file or directory @ rb_sysopen - ./some_partial.haml
:
= Haml::Engine.new(File.read("./some_partial.haml")).render
그것은 실패합니다.
= Haml::Engine.new(File.read("#{__dir__}/some_partial.haml")).render
또는 내가 필사적 기분 경우에도이 내가 원하는대로
= Haml::Engine.new(File.read("#{File.expand_path(File.dirname(__FILE__))}/some_partial.haml")).render
그러나이 작동하지 않습니다 (파일 절대 경로를 얻을 수) : 작동합니다 해결 방법이이었다 에.
File.expand_path(File.dirname(__FILE__))
(작업 디렉토리를 고려하지 않고) 파일의 절대 경로를 지정하는 대신, 작업 디렉토리의 절대 경로를 제공합니다.
나는 물론 작동 할 경로를 지정할 수 있지만 모든 렌더링에 내 대상 해상도를 포함하고 싶지 않습니다.
내 Guardfile 나는 윈도우, 내 인생을 저주 사용하고
guard :haml, output: '../package/www' do
watch(/^.+(\.haml)$/)
end
. 어떤 제안? 나는 단지 같은 디렉토리 내의 파일로부터 파일을 얻는 것만으로 충분하다.
당신은 최고입니다. –