0

ここにエラーと私のコードがあります。私は使用していますKaminari

Error:  undefined method `model_name' for #<Array:0x0000001d5abeb0>
73:     <%= page_entries_info(@communities).html_safe %>

見る

<%= page_entries_info(@communities).html_safe %>

コミュニティ コントローラー

更新*これが私が今取っている方法です

    @search = Community.search do  
    fulltext params[:search]
        with(:location_id, params[:location]) if params[:location].to_i >0           
        with(:type_id, params[:type]) if params[:type].to_i >0
        order_by :cached_votes_up, :desc
        paginate :page => params[:page], :per_page => 10
    end

    @communities = @search.results
4

2 に答える 2

2

翻訳に問題があります:

"%{total} total records. Displaying %{first} - %{last}"

ここでは、この翻訳を呼び出すときに 3 つの引数が期待されます: 変数total,firstそしてlast、「あなた」は次の 2 つの変数のみを与えます: entry_name&count

page_entries_infoメソッドの詳細を教えてください。

編集:

あなたがコメントしたように、https://github.com/amatsuda/kaminari/blob/master/lib/kaminari/helpers/action_view_extension.rb#L102 Line 102-109 : .yml 翻訳ファイルに何かが必要ですこのような:

en:
  helpers:
    page_entries_info:
      one_page:
        display_entries: "%{count} total records for %{entry_name}."
      more_pages:
        display_entries: "%{total} total records. Displaying %{first} - %{last}"
于 2013-01-25T14:52:43.190 に答える
2

kaminariwill_paginateを一緒に使用している場合、間違いなくこのエラーに直面します。つまり、kaminariwill_paginateは互換性がありません。

rails_admin(ページネーションに kaminari を使用) を使用していて、 も使用している場合will_paginateは、次のコードを config ディレクトリの下の初期化子の 1 つに追加する必要があります。または、新しいファイルを作成することもできます。それを初期化ディレクトリに配置します。

if defined?(WillPaginate)
  module WillPaginate
    module ActiveRecord
      module RelationMethods
        def per(value = nil) per_page(value) end
        def total_count() count end
      end
    end
    module CollectionMethods
      alias_method :num_pages, :total_pages
    end
  end
end
于 2013-01-25T14:55:23.637 に答える