Как использовать will_paginate с вложенным ресурсом в Rails?

Я новичок в Rails, и у меня возникают серьезные проблемы с настройкой will_paginate для работы с вложенными ресурсами.

У меня есть две модели: выписка и счет. will_paginate работает над Statement, но я не могу заставить его работать с Invoice. Я знаю, что делал что-то глупое, но я не могу понять это, и примеры, которые я нашел в Google, не будут работать для меня.

statement.rb
class Statement < ActiveRecord::Base
  has_many :invoices

  def self.search(search, page)
    paginate :per_page => 19, :page => page,
      :conditions => ['company like ?', "%#{search}%"],
      :order => 'date_due DESC, company, supplier'
  end
end

statements_controller.rb  <irrelevant code clipped for readability>
def index #taken from the RAILSCAST 51, will_paginate podcast
  @statements = Statement.search(params[:search], params[:page])
end

I call this in the view like so, and it works:
  <%= will_paginate @statements %>

Но я не могу понять, как заставить это работать для Счетов:

invoice.rb
class Invoice < ActiveRecord::Base
  belongs_to :statement

   def self.search(search, page)
     paginate :per_page => 19, :page => page,
       :conditions => ['company like ?', "%#{search}%"],
       :order => 'employee'
  end
end

invoices_controller.rb
class InvoicesController < ApplicationController

  before_filter :find_statement


  #TODO I can't get will_paginate to work w a nested resource
  def index #taken from the RAILSCAST 51, will_paginate podcast
        @invoices = Invoice.search(params[:search], params[:page])
  end

 def find_statement
    @statement_id = params[:statement_id]
    return(redirect_to(statements_url)) unless @statement_id
    @statement = Statement.find(@statement_id)
  end
end

И я пытаюсь назвать это так: <% = will_paginate (@invoices)%>

Самое распространенное сообщение об ошибке, с которым я играю: «Переменная @statements кажется пустой. Вы забыли передать объект коллекции для will_paginate?»

Я понятия не имею, в чем проблема или как ее исправить. Спасибо за любую помощь и руководство!

Ответы на вопрос(1)

Ваш ответ на вопрос