2010-03-15 7 views
1

플러그인에서 부분 렌더링을 시도한 후에 누락 된 템플릿 오류가 발생합니다. 나는 다음에 파일을 포함했다 :레일 : 플러그인에서 부분 렌더링

%w{ models controllers helpers views }.each do |dir| 
    path = File.join(File.dirname(__FILE__), 'app', dir) 
    $LOAD_PATH << path 
    ActiveSupport::Dependencies.load_paths << path 
    ActiveSupport::Dependencies.load_once_paths.delete(path) 
    end 

모델은로드지고 있지만, 다른 것들에 관해서는 무슨 일인지 모르겠어요. 헬퍼가로드되지 않는 이유는 render : partial => 대신 플러그인에서 partial의 내용을 복사 한 다음 도우미 오류가 발생했기 때문입니다. 렌더링 :

질문 할 수있는 방법 인 전망에서 => 부분이 app/views 디렉토리, 또는 당신을위한 플러그인 설치 사본은 대개 복사 뷰 플러그인을 내 플러그인

+0

시작시 추가 디렉토리를로드하려면 environment.rb에서 config.load_paths를 사용하는 것이 좋습니다. – Chris

+0

좋은 아이디어지만, 개발자를위한 상자 솔루션을 찾고 있습니다. – s84

답변

1

에 폴더. 같은 방식의 모델과 컨트롤러 인 $LOAD_PATH에서는 뷰가 작동하지 않습니다.

+0

좋습니다. 나는 개발자가 아무것도 할 필요가 없기 때문에이 솔루션이 괜찮은 것 같아요.하지만 플러그인을 응용 프로그램이 아닌 응용 프로그램으로 옮길 수있는 레이크지만, 플러그인 응용 프로그램에서 작업하는 것이 좋습니다. – s84

+0

플러그인을 빌드하는 레일 가이드는 모델, 컨트롤러 및 도우미에 모두 액세스 할 수 있음을 보여 주지만 뷰는 설명하지 않습니다. – s84

+0

나는보기가로드 될 것이라고 말한 다른 혀를 만난 적이 있었지만 예제가 없었습니다. – s84

0

Rails 2.3. *에서는 vendor/plugins/XXXX/app/views/디렉토리가로드 경로에 자동으로 포함됩니다. 다음 플러그인 구조를 주어진 그래서 때

공급 업체/플러그인/your_plugin/응용 프로그램은/뷰/공유/_box.html.erb

당신처럼, 예를 들어,에서 app/views/site/index.html.rb을이 부분을 호출 할 수 있습니다
Yuppie! 

이 :

<%= render 'shared/box' %>