2011-09-14 6 views
2

新しくインストールされたwill_paginate 3.0.0コントローラのクエリを実行「未定義のメソッド `will_paginate、3.1/DataMapperの

gem 'will_paginate', '~> 3.0.0', :require=>'will_paginate/data_mapper' 

レール:、

@tickets = Ticket.paginate(:page => params[:page], :per_page => 5,:username => @ticket.username) 

働くユーザーのすべてのチケットをプルアップし、 ?page = Xここで、xはURLのページ番号です。ビュー内の

=will_paginate(@tickets) 

が動作しない、これは

undefined method `will_paginate' for #<#<Class:0x000000053674c8>:0x0000000535cd48> 

のでwill_paginate作品ではなく、ビューヘルパーになります。何か不足していますか?差があれば、私はスリムなテンプレートを使用しています。私は行方不明のいくつかの構文の変更はありますか?ドキュメントはこの時点を超えて単純ですが役に立たないものです。私はソースを見て、何も変更されていないようですが、なぜアクセスできないのかわかりません。

そして接線上で、これは関連性を失います。

=> instance.model_belonging_to_instance.create @(:テキスト=> 'テスト')

TypeError: can't convert nil into Integer 
    from /home/qx/.rvm/gems/ruby-1.9.2-p180/gems/will_paginate-3.0.0/lib/will_paginate/page_number.rb:16:in `Integer' 
    etc etc et al 

解決

gemfile:

gem 'will_paginate', '~> 3.0.0'  # removed this, :require=>'will_paginate/data_mapper' 

初期化子:

require 'will_paginate' 
require 'will_paginate/data_mapper' 

これは表示されますが、テンプレートの一番上にない場合、私は

スタックレベルが深すぎ

エラーを取得する私は

答えて

2

Gemfileで:requireオプションを使用しないでください。代わりにconfig/application.rbのどこかに、例えばBundlerの設定後に "will_paginate/data_mapper"が必要です。

+0

私は正確に同じエラーを取得していますが、唯一のテスト環境インチ現在、リクエストをテストするためにRSpecとcapybaraを使用しています。私はすでにここに指示を実装しましたが、何の効果もありません。何か案は? –

0
gem 'will_paginate', '~> 3.0.0', require: %w[ 
    will_paginate 
    will_paginate/data_mapper 
] 
関連する問題