【问题标题】:will_paginate causes ActiveRecord::RecordNotFound in showwill_paginate 导致 ActiveRecord::RecordNotFound 在显示
【发布时间】:2013-02-11 20:46:29
【问题描述】:

在我们的 rails 3.2.8 应用程序中,当单击下一页或第 1 页之后的另一个页面时,will_paginate 会导致 ActiveRecord::RecordNotFound 错误。这是错误:

ActiveRecord::RecordNotFound in LeaseBookingsController#show

Couldn't find LeaseBooking with id=search_results

Parameters:

{"page"=>"4",
 "id"=>"search_results"}

search_results 是控制器中的自定义操作:

  def search_results
    @lease_booking = LeaseBooking.new(params[:lease_booking], :as => :roles_search)   
    @lease_bookings = @lease_booking.find_lease_bookings.paginate(:per_page => 40, :page => params[:page])
  end

find_lease_bookings 是模型中检索lease_booking 记录的方法。该错误仅与 will_paginate 相关。在 gemfile 中有:

gem 'will_paginate', '~> 3.0'

有解决分页问题的方法吗?谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 pagination


    【解决方案1】:

    我今天遇到了类似的问题,浪费了很多时间。这就是原因。

    “如果您的表单操作是 POST(或任何其他 HTTP 方法),则搜索词不会应用于后续页面链接。换句话说,当您点击“下一页”或任何其他页面链接时,搜索参数将丢失。”

    查看此链接。 https://github.com/mislav/will_paginate/wiki/Simple-search

    所以解决方案是使用 GET 代替 POST。

    【讨论】:

    • @user938363 嘿,伙计,我可能听起来很傻......但我真的需要这里的学分。我回答的有点晚了,你不觉得我的回答是对的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多