2012-04-24 11 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/array'が必要ですが、これで問題は解決されません。私はどのようにページングを行い、リソースを継承するのですか?私の見解では、私はエラー

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

答えて

3

を得るこれは、ロングショットのようなものですが、私はこの問題に遭遇し、それがカンカン、私が使用しています別の宝石だっ判明します。これは私が遭遇した最初のものの1つだったので、いつか誰かを助けるかもしれないと思った。

チェックアウト: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 

私は誰かを助けることを願っています。

関連する問題