2016-07-05 2 views
0

현재 Ruby on Rails를 사용하는 웹 사이트에서 일하고 있습니다. 웹 사이트에는 전체 캘린더, 채팅 세션, 사용자 확인 등의 작은 응용 프로그램이 많이 있습니다. 최근에 Todo 목록이라는 새로운 응용 프로그램을 만들었습니다. 현재 자체 페이지가 my_link/todo_lists입니다.Rails 애플리케이션을 글로벌하게 만드는 방법은 무엇입니까?

#index 페이지에 나타나는 대신 웹 사이트의 모든 부분에 표시되는 방식으로 어떻게 만들 수 있습니까? 나는 require 'todo_lists'을 시도했지만 나는 오류를 얻을 :

"cannot load such file -- todo_lists" 

내가 레이아웃 폴더에있는 모든 파일 (미약 한 시도를) 복사했습니다. 그 날을 제공합니다

"Missing templates ....." 

내가 "템플릿 없음"또는 "no_load_to_path"오류

가능하면 내가 그런 식으로 표시 할 다시 (어떻게 작동하는지 확실하지 않음)

을 부분 렌더링을 시도 페이스 북의 채팅 표시 줄은 최소한 동일한 페이지를 다른 페이지에서 호출합니다.

+0

공유 부분으로 올바른 경로에 있다고 생각합니다. – marcusshep

+0

마운트 할 수있는 ['Rails :: Engine'] (http://guides.rubyonrails.org/engines.html)을 만들 수 있습니다. 다른 레일 애플리케이션에 연결해야합니다. 이것이 거대한 단일체보다는 코드를 관리하기가 더 쉬워졌습니다. 그러나 좀 더 많은 설정이 필요합니다. – engineersmnky

+0

두 가지 방법을 모두 읽어 주셔서 감사합니다! 적어도 지금은 방법이 있습니다. 다시 한번 감사드립니다. – pnhthuan

답변

1

당신은 layouts/_sidebar.html.erb 내부 부분 다음에 application.html.erb 당신이 부분 렌더 ERB 만들 수 있습니다 (당신은 단지 하나의 메인 레이아웃을 가지고 가정)이이 모든 응용 프로그램에 표시 할 것

<%= render 'layouts/sidebar' %> 

+0

자문을 구했고 대신 사이드 바를 사용했습니다. 그것은 위대한 작품! 나 한테 묻지 않았 으면 좋겠어. 저는 아약스를 사용하여 다른 페이지로 이동하지 않고 Todo_List를 백그라운드로 실행했습니다 (백그라운드에서 실행 중). 내가 사용 사이드 바에서 렌더링 할 때 <% content_for (: 사이드 바) % 할> <% 렌더링 : 부분 => "레이아웃/사이드 바"% 내가 원하는 페이지> <% end %> . 인덱스 페이지에서와 마찬가지로 내 사이드 ​​바에서 문제가 발생하지 않습니다. 기본적으로 만들 수는 있지만 편집하거나 표시 할 수는 없습니다. 그것은 회색 스크린을 보여줍니다. – pnhthuan

관련 문제