2012-03-03 3 views
0

버전 2.x에서 실행되는 몇 년 전에 작성된 기존 Rails 응용 프로그램을 상속 받았습니다. 나는 Rails와 ActiveRecord의 기본 개념에 대해 고민하고있다.모든 내 뷰의 바닥 글에 동적 섹션을 추가하려면 어떻게해야합니까?

저는 모든 페이지 하단에 동적 활동 스트림을 추가하여 누군가가 한 최신 변경 사항을 나열합니다.

활동 스트림을 얻으려면 나는 운명에 대한 거대한 SQL 쿼리를 가지고 있습니다. 내 포스트 그레스 데이터베이스에서 나는 켠 말했다 I는 다음과 같이 조회 할 수있는 간단한 데이터베이스 뷰 (기본적으로 가상 읽기 전용 테이블)에 쿼리 다음에 사용하기 위해이 데이터를 준비 할 수있는 적절한 방법을 무엇

SELECT * FROM recent_activity LIMIT 4 

내 응용 프로그램의 모든 단일 페이지에 대한 바닥 글?

고유 한 모델이 있어야합니까? 자체 컨트롤러? 어떻게 든 이것을 모든 페이지에 자동으로 포함시킬 수 있습니까?

답변

0

이 쿼리의 내용으로 뷰 레이아웃에 변수를 제공해야합니다. 마음에 오는 신속하고 더러운 솔루션은와 ApplicationController의 'before_filter', 즉

before_filter :get_footer 

     def get_footer 
     # do your sql query here and save it in an instance variable like @footer 
     end 

이 필요한 값으로 varieble @footer을 설정하고보기에서 액세스 할 수 있도록해야을 사용하는 것입니다.

그런 다음 @footer가 포함 된 글로벌 응용 프로그램 레이아웃에 행을 추가 할 수 있습니다 (출력 형식을 조금 어쩌면 형식화 할 수 있음)

관련 문제