2010-02-20 3 views
1

나는 내 장바구니 품목을 찾기 위해 내 컨트롤러 색인 방법에서 @cart = find_cart을 사용하여 장바구니를 가지고 있습니다.모델 데이터를 모든 컨트롤러 방식에서 효율적으로 액세스 할 수있게하려면 어떻게해야합니까?

다음을 사용하여 응용 프로그램 레이아웃 맨 위에있는 카트의 항목 수가 포함 된 간단한 카트 링크를 만들려고합니다. <%= @cart.items.length %> 두 항목이있는 경우 장바구니 (2)처럼 보입니다.

모든 단일 컨트롤러 방법에 @cart = find_cart을 추가하는 것없이 전체 응용 프로그램에서이 데이터를 효율적으로 사용하려면 어떻게해야합니까?

답변

3

당신은 before_filter를 사용하여 응용 프로그램 컨트롤러에 배치하는 것이 좋습니다 :

class ApplicationController < ActionController::Base 
    before_filter :find_cart_items 


    private 
    def find_cart_items 
     @cart = find_cart 
    end 
end 

그런 다음 컨트롤러의 당신이하지을 곳 카트를 찾으려면, 단지 사용

skip_before_filter :find_cart_items 
+0

명백한! 나는 그것을 생각해야만했다. –

관련 문제