2012-04-24 6 views
2

페이지 매김 (3.0.3)은 상속 된 리소스 (1.3.1)에서 작동하지 않습니다. 내 컨트롤러에서 :will_paginate와 inherited_resources가 함께 작동하지 않습니다.

protected 
def collection 
    @posts ||= end_of_association_chain.paginate(:page => params[:page]) 
end 

는 내 이니셜 라이저에서 'will_paginate/배열을'필요 추가,하지만이 문제가 해결되지 않습니다. 어떻게 페이지를 매기고 리소스를 상속받을 수 있습니까? 내보기에 내가 오류

undefined method `total_pages' for #<ActiveRecord::Relation:0x00000004312e38> 

답변

3

이 긴 샷의 종류 얻을 수 있지만, 나는이 문제에 달려 그것이 캉캉, 내가 사용하고 다른 보석이었다 밝혀졌습니다. 이것은 내가 처음 발견 한 것 중 하나 였기 때문에 누군가 언젠가는 도움이 될 것이라고 생각했습니다.

체크 아웃 : https://github.com/ryanb/cancan/wiki/Inherited-Resources

호출 load_and_authorize_resource에 부하 조건 할당의 오른쪽은 결코 collection 방법으로 실행되지 도착 있도록 컬렉션. 위의 링크에서 설명한 픽스는 수집 작업에 대한 인증을 건너 뛰고 collection 메서드에서 명시 적으로 검사를 수행하는 것입니다.

skip_load_and_authorize_resource :only => :index 

protected 

def collection 
    @posts ||= end_of_association_chain.accessible_by(current_ability).paginate(:page => params[:page]) 
end 

나는 누군가를 돕기를 바랍니다.

관련 문제