Dans mon application, j'ai un modèle client qui a beaucoup de paiements et de factures.Rails utilisent will_paginate avec des résultats de requête combinés
# customer.rb
class Customer < ActiveRecord::Base
has_many :payments
has_many :invoices
end
# payment.rb
class Payment < ActiveRecord::Base
belongs_to :customer
end
# invoice.rb
class Invoice < ActiveRecord::Base
belongs_to :customer
end
Dans les clients montrent modèle Je combine toutes les factures et les paiements et les stocker dans la variable d'instance de @transactions.
class CustomersController < ApplicationController
def show
@customer = Customer.find(params[:id])
payments = Payment.where(customer: @customer)
invoices = Invoice.where(customer: @customer)
@transactions = payments + invoices
end
Je veux paginera @transactions en utilisant will_paginate. Cela ne fonctionne pas:
@transactions.paginate(page: params[:page])
Quelle est la meilleure façon d'y parvenir?
Cette réponse va résoudre votre problème http://stackoverflow.com/questions/4352895/ruby-on-rails-will-paginate-an-array – Thorin