2017-08-08 6 views
0

私はapi-pagination gemを使用していて、5つのアプリでherokuにデプロイしています。私の設定は開発中ではOKですが、生産には失敗します。ここでは、configファイルされる:railkuに配備されたRails 5のapi-pagination gem設定エラー

config/initializers/api_pagination.rb

ApiPagination.configure do |config| 
    # If you have both gems included, you can choose a paginator. 
    config.paginator = :will_paginate 

    # By default, this is set to 'Total' 
    config.total_header = 'X-Total' 

    # By default, this is set to 'Per-Page' 
    #config.per_page_header = 'X-Per-Page' 

    # Optional: set this to add a header with the current page number. 
    #config.page_header = 'X-Page' 

    # Optional: what parameter should be used to set the page option 
    config.page_param = :page 
    # or 
    config.page_param do |params| 
    params[:page][:number] 
    end 

    # Optional: what parameter should be used to set the per page option 
    config.per_page_param = :per_page 
    # or 
    config.per_page_param do |params| 
    params[:page][:size] 
    end 
end 

ここでは、Herokuのログからのエラーです:

[INFO ] Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms) 
[FATAL] NoMethodError (undefined method `[]' for nil:NilClass): 
[FATAL] config/initializers/api_pagination.rb:18:in `block (2 levels) in <top (required)>' 

コントローラのアクションは今非常に簡単です:

def index 
    listings = Listing.where(active: true) 
    paginate json: listings 
    end 

私は経路にパラメータを含まない。

答えて

0

私の状況では、ほとんどの設定は不要でした。私はなぜそれがエラーを引き起こしているのかわかりませんが、私のケースのデフォルトは、私がwill_paginateを使用している以外は問題ありません。これは私の設定ファイルであり、それは動作します:

ApiPagination.configure do |config| 
    # If you have both gems included, you can choose a paginator. 
    config.paginator = :will_paginate 
end 

誰かがエラーに対処し解決策を以下の場合は、私はそれを受け入れます。これは、デフォルト以外の設定を多く必要とする他の人にとっては便利かもしれません。

関連する問題