2013-01-31 3 views
0

...왜 레일 내가 가진

/config/routes.rb 내 인쇄 레이아웃 파일을 찾을 수 없습니다 :

resources :documents do 
    member do 
     get :print 
    end 
end 

/config/authorization_rules.rb을 :

role :admin do 
    has_permission_on [:documents], :to => [:print] 
    end 

app/controllers/documents_controller.rb :

,
def print 
    render :layout => "print" 
end 

응용 프로그램/뷰/레이아웃/print.html.haml :

!!! 
%html 
    %body 
    = yield 

내가 여러 컨트롤러에 정의 된 인쇄 작업에서이 인쇄 레이아웃 파일에 액세스 할 수 있습니다.

관리자로 로그인하여 http://localhost:3000/documents/1/print으로 이동하면 왜이 오류가 발생합니까? /app/views/application/ 또는 /app/views/documents/print.html.haml 파일을 이동

Missing template documents/print, application/print with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in: 
    * "/Users/steven/Dropbox/testivate/app/views" 
    * "/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/declarative_authorization-0.5.6/app/views" 

오류를 변경하지만, 그것을 제거하지 않습니다.

답변

0

레이아웃을 정의했지만 인쇄 작업을위한 템플릿 파일이없는 것 같습니다. 레이아웃 파일은 존재하지 않는 (인쇄 작업) 템플릿의 내용을 생성하려고 시도합니다. 렌더링 할 (동작) 템플릿을 추가로 지정하거나 app/views/documents/print.html.haml을 추가해야합니다. 또한 혼동을 피하기 위해 레이아웃 파일의 이름을 변경하십시오.