2012-10-23 3 views
4

도움을주는 이들에게 .. 감사합니다. 아직 해결책은 없지만 점점 가까워지고 있습니다. 내가 생각하기에 오류는 "파일"이 "app/views/main/show/_partial.html.erb"로 평가되기 때문입니다. 렌더는 자신의 상대 경로를 추가합니다. 그래서 내가 파일 이름을 나열해야 겠어 .. 어쩌면 dir.foreach 또는 dir.glob 형식 명령 .. 나는 파고 계속됩니다. 감사!rails ruby ​​디렉토리에서 부분을 반복합니다.

나는 전화를 걸고 싶은 부분으로 가득 찬 디렉토리가 있습니다. 그래서 루프를 작성했지만 오류가 발생합니다.

<% Dir["app/views/main/show/*"].each do |file| %> 
    <%= render #{file} %> 
<% end %> 

나는 그것이 파일 이름을 나열하는 간단한

파일

로 렌더링 라인을 교체

그래서 내가 루프 및 디렉터리 위치 일을 알고있다. 내가 생각하는 문제는 렌더가 문자열을 찾고 있다는 것입니다. 그래서 나는 구글 검색에서부터 # {file}과 같은 다양한 종류의 것들을 시도해 보았습니다.

나는 렌더링이 다른 디렉토리에서 상대 디렉토리를 찾고있을 수도 있다고 생각합니다. 나는 거기에 몇 가지 물건을 사용해 볼게.

어떻게 처리해야합니까? 나는 Dir에서 Dir로 전환하기 위해 일하고있다.

감사합니다.

편집는 :

<% Dir["app/views/partials/show/*.html.erb"].each do |file| %> 
<p> <%= render 'partials/show/' + File.basename(file,'.html.erb').slice!(1..-1) %></p> 
<% end %> 
+1

<% = render : partial => "# {file}"%> – Raghu

+0

루프에서 가져올 파일 객체는 무엇입니까? 너는 나를 위해 그것을 인쇄 할 수 있니? 또한 위의 솔루션에서보고있는 오류는 무엇입니까? – Raghu

+0

도움을 주셔서 감사합니다 ... 파일은 부분적으로 "_part1", "_part2"... 등 ... 오류는 아래 주석과 유사합니다 : 부분 앱/{: locale => [: en], : formats => [: html], : 처리기 => [: erb, : 작성자 : : coffee]}를 사용하여 view/main/show/_scene1.html을 수정하십시오. 검색된 내용 : * "C :/railsProjects/introAnime/app/views" – twinturbotom

답변

8

file 이미 문자열, 그래서 탈출 할 필요가 없다 : 여기에 구현 한 솔루션 (위의 변경 디렉토리 경로)입니다. 또한 전체 경로를 제공해야합니다. 이 작동해야합니다 :

<% Dir["app/views/main/show/*"].each do |file| %> 
    <%= render :file => Rails.root.join(file).to_s %> 
<% end %> 

#{} 큰 따옴표 안에 작동합니다. 예 : "#{file}"하지만이 경우에는 필요하지 않습니다. file을 사용해도됩니다.

+0

선명도를 주셔서 감사합니다.하지만 렌더링 및 DIR 참조가 있어야합니다. 그러면 제안 사항이 나타납니다. app/views/main/show/{: locale => [: en], : formats => [: html], : 처리기 => [: erb, : 작성자 : : 커피]}. 검색된 곳 : * "C :/railsProjects/introAnime/app/views" – twinturbotom

+0

내 대답이 업데이트되었습니다. 다시 시도하십시오. – Mischa

+0

괜찮아 보이지만이 오류가 발생했습니다. {: locale => [: en], : formats => [: html], : handlers 부분에 C : /railsProjects/introAnime/app/views/main/show/_scene1.html이 없습니다. => [: erb, : 작성자 : : 커피]}. 검색된 곳 : * "C :/railsProjects/introAnime/app/views" – twinturbotom