Tag: 将分页

在Rails中从一个gem重写一个模块方法

在我的Oracle版本中,will_paginate gem被打破了。 WillPaginate模块中默认的paginate_by_sql方法会在查询中插入一个额外的“AS”,导致它失败。 代码本身很容易修复,但我不确定让Rails接受我的更改的最佳方式。 我不想更改gem本身的代码,因为这会使我的代码在其他机器上断开。 我试图创build一个lib / test.rb文件,其中包含: module WillPaginate def paginate_by_sql (my code goes here) end end 并要求从environment.rb,但它没有拿起我的变化。 我也尝试要求从控制器/ application.rb,但再次,不接受我的变化。 暂时我通过重写特定模型本身的方法来实现它,但是这有点破解,意味着我不能在这个项目的任何其他模型中使用它。 我确信有一个简单的方法来做到这一点,但我没有任何运气使用谷歌追踪它。

will_paginate未定义的方法`total_pages'

我在这里错过了什么? 我正在使用haml_scaffold生成器,并且这些页面与will_paginate正常工作。 当我开始修补时,我最终会遇到这个'total_pages'错误,我不知道我在做什么导致它。 任何人有任何见解? 我正在使用mislav-will_paginate 2.3.11。 mike@jauntyjackalope:~/project$ script/console Loading development environment (Rails 2.3.4) >> @locations = Location.find_all_by_city("springfield") => [#<Location id: 3, address: "123 Main St", city: "springfield", phone: "321-1234", business_id: 2>] >> @locations.class => Array >> @locations.collect{|loc| loc.business} => [#<Business id: 2, name: "A Bar", website: "www.abar.com", business_owner_id: 1, created_at: "2009-08-31 21:13:10", updated_at: "2009-08-31 21:13:10">] […]

使用will_paginate在Ruby中分页数组

我有一个数组@水平1,看起来像这样: [[3.0, 4, 2], [2.0, 48, 3], [2.1, 56, 4], …………] 我想在这个数组上应用分页,这样每个页面一次只显示几行。 我试过这个: @temp1 = @level1.paginate(:page => params[:page]) 但它会引发以下错误: undefined method `paginate' for [[3.0, 4, 2], [2.0, 48, 3], [2.1, 56, 4]]:Array 如何使用will_paginate对此进行分页?

Ruby on Rails会为数组分配一个数组

我想知道是否有人可以解释如何使用will_paginate对象的数组? 例如,在我的网站上,我有一个意见部分,用户可以评价意见。 我写了一个方法来收集评价意见的用户: def agree_list list = OpinionRating.find_all_by_opinion_id(params[:id]) @agree_list = [] list.each do |r| user = Profile.find(r.profile_id) @agree_list << user end end 谢谢