【问题标题】:Kaminari paginating arraysKaminari 分页数组
【发布时间】:2013-06-27 12:01:57
【问题描述】:

在轨道 4.0.0 中。

为什么会这样

@employees = Employee.where(:club_id => session[:club_id]).page(params[:page])

但不是这个?

@payments = Payment.where(:club_id => session[:club_id], 
                           :trading_date => trading_date).page(params[:page])

在第二种形式中,我得到一个数组错误。我知道如何解决它,但我很困惑为什么会发生这种情况?

我的错误是这样的

NoMethodError (undefined method `page' for #<Array:0x007ff72845b380>):
app/controllers/payments_controller.rb:30:in `index'

【问题讨论】:

  • 发布您遇到的确切错误。
  • 编辑显示错误。
  • club_idtrading_date 之间是否有任何关系意味着您编写的条件以(A 和 B)或(A 或 B)方式连接。如果它在逻辑上是连接的,那么我认为这对你来说应该很好。 '@payments = Payment.where(:club_id => session[:club_id]) 和/或 :trading_date => trading_date) .page(params[:page])'
  • 没有关系,它们只是付款表中的单独列。在这种情况下,从 session 中读取 club_id,从 params 中读取交易日期。除非我在 kaminari 中使用数组助手作为 @payments = Kaminari.paginate_array(myarray).page(params[:page]),否则这不会像上面那样工作

标签: ruby-on-rails kaminari


【解决方案1】:

你确定不想做吗

@payments = Payment.where(:club_id => session[:club_id])
  .where(:trading_date => trading_date)
  .page(params[:page])

【讨论】:

    猜你喜欢
    • 2011-09-26
    • 2011-08-02
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多