【发布时间】: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_id和trading_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]),否则这不会像上面那样工作