在同一网页上出现2个分页错误

用户名

我不是Rails程序员的红宝石,但我在页面上添加了第二个结果表已经走得很远了。

我的问题是分页混乱了。

首次加载时。一切看起来都正确。但是,当您单击另一个页码时,它也会同时更改第二个表上的页面。加上将第二张表的副本(如第三张表)添加到页面。

我有枪声。

原始页面在页面加载http://www.digihaul.com/1.png时加载
Orignial

选择页面后

选定页面后http://www.digihaul.com/2.png

这是我的看法

.row-fluid#load_results_table
  .span12
    - if resultss.empty?
      =render partial: 'no_results', locals: {search: search}
    - else
      %h1.page-header Premium Loads
      %p= "These are our loads we are offering. We guarentee 100% payment on these loads"
    %table.table.search_results.table-condensed.table-bordered.table-striped.sortable{:id => "#{searches.search_type.pluralize}"}
      %thead
        %tr.search_header
          %th= sortable_load "origin"
          %th= sortable_load "dest"
          %th= sortable_load "pickup"
          %th= sortable_load "delivery"
          %th= sortable_load "ltl"
          %th= sortable_load "equipment_id", "Equipment"
          %th= sortable_load "weight"
          %th= sortable_load "length"
          %th= sortable_load "rate"
          -unless @searches.origin.blank?
            %th Estimated Deadhead Miles
          %th Actions
      %tbody
        - resultss.each do |result|
          %tr{:class => "#{searches.search_type}_view", :id => "#{result['id']}" }
            %td= Location.to_cs(result.origin)
            %td= Location.to_cs(result.dest)
            %td= format_date(result.pickup)
            %td= format_date(result.delivery)
            %td= full_or_par(result.ltl)
            %td= result.equipment_id ? Equipment.to_equipment_name(result.equipment_id) : ""
            %td= result.weight
            %td= result.length
            %td= result.rate
            -unless @searches.origin.blank?
              %td= Location.distance_between(@searches.origin.coords, result['origin'])
            %td
              .btn-group
                %a.btn.btn-info{ :href => "/#{searches.search_type.pluralize}/#{result['id']}" } Show
                %a.btn{ :href => "javascript:void(0)", :class => "save", user_id: @searches.user_id, :id => result['id']} Save
                %a.btn.btn-primary{ :href => "javascript:void(0)", :class => "cover_link", :user_id=> @searches.user_id } Cover 
    = will_paginate resultss, :renderer => BootstrapPagination::Rails
.row-fluid#load_results_table
  .span12
    - if results.empty?
      =render partial: 'no_results', locals: {search: search}
    - else
      %h1.page-header Search Results
      - if results.count > 1000
        %p= "Your search yielded many #{search.search_type.pluralize}"
      - else
        %p= "Your search yielded #{results.count} #{search.search_type.pluralize}"
      =render partial: 'header_buttons', locals: {search: search}
      %br
      = will_paginate results, :renderer => BootstrapPagination::Rails, id: "first_pagination"
      %table.table.search_results.table-condensed.table-bordered.table-striped.sortable{:id => "#{search.search_type.pluralize}"}
        %thead
          %tr.search_header
            %th= sortable_load "origin"
            %th= sortable_load "dest"
            %th= sortable_load "pickup"
            %th= sortable_load "delivery"
            %th= sortable_load "ltl"
            %th= sortable_load "equipment_id", "Equipment"
            %th= sortable_load "weight"
            %th= sortable_load "length"
            %th= sortable_load "rate"
            -unless @search.origin.blank?
              %th Estimated Deadhead Miles
            %th Actions
        %tbody
          - results.each do |result|
            %tr{:class => "#{search.search_type}_view", :id => "#{result['id']}" }
              %td= Location.to_cs(result.origin)
              %td= Location.to_cs(result.dest)
              %td= format_date(result.pickup)
              %td= format_date(result.delivery)
              %td= full_or_par(result.ltl)
              %td= result.equipment_id ? Equipment.to_equipment_name(result.equipment_id) : ""
              %td= result.weight
              %td= result.length
              %td= result.rate
              -unless @search.origin.blank?
                %td= Location.distance_between(@search.origin.coords, result['origin'])
              %td
                .btn-group
                  %a.btn.btn-info{ :href => "/#{search.search_type.pluralize}/#{result['id']}" } Show
                  %a.btn{ :href => "javascript:void(0)", :class => "save", user_id: @search.user_id, :id => result['id']} Save
                  %a.btn.btn-primary{ :href => "javascript:void(0)", :class => "cover_link", :user_id=> @search.user_id } Cover 
      = will_paginate results, :renderer => BootstrapPagination::Rails

控制器:

  def show
    @search = Search.find(params[:id])
    @searches = Search.find(params[:id])
    @results = @search.search(params[:page])
    @resultss = @searches.searches(params[:page])
    @search.update_attribute(:results, @results.count)
    @searches.update_attribute(:resultss, @resultss.count)
    respond_to do |format|
      format.html 
      format.js {render "results"}
      format.js {render "resultss"}
    end
  end

模型(最小化查询)

  def search(page)
    where = []
    where << PrepareSearch.states("dest", self.dest_states) unless self.dest_states.blank?
    if self.search_type == 'load'
      select = "loads.id, origin, dest, pickup, delivery, ltl, equipment_id, weight, length, rate"
      where << PrepareSearch.date('pickup', self.pickup, self.pickup_operator) unless self.pickup.blank?
    elsif self.search_type == 'truck'
      select = "trucks.id, origin, dest, available, expiration, equipment_id, comments"
      where << PrepareSearch.date('available',self.available,self.available_operator) unless self.available.blank?
    end
    where = where.join(' AND ')
    order = self.order_by ? self.order_by + " desc" : ""
    limit = "LIMIT=200"
      Module.const_get(self.search_type.capitalize).where(where).select(select).limit(limit).order(order).page(page).per_page(20)
  end


  def searches(page)
    where = []
    where << PrepareSearch.states("dest", self.dest_states) unless self.dest_states.blank?
    if self.search_type == 'load'
      select = "loads.id, origin, dest, pickup, delivery, ltl, equipment_id, weight, length, rate"
      where << PrepareSearch.date('pickup', self.pickup, self.pickup_operator) unless self.pickup.blank?
    elsif self.search_type == 'truck'
      select = "trucks.id, origin, dest, available, expiration, equipment_id, comments"
      where << PrepareSearch.date('available',self.available,self.available_operator) unless self.available.blank?
    end
    where = where.join(' AND ')
    order = self.order_by ? self.order_by + " desc" : ""
    limit = "LIMIT=200"
      Hotload.where(where).select(select).limit(limit).order(order).page(page).per_page(5)
  end
理查德·派克(Richard Peck)

如评论中所述,Ajax分页是一种方法,但是处理此问题的最佳方法是更改page每个分页块参数


param_name

您可以使用参数Kaminari使用(我知道您正在使用will_paginate)进行此操作param_name基本上,这将设置param每个分页块读取,从而允许您不同地调用它们,从而控制不同的数据集:

<%= paginate collection, param_name: model.to_s %>

研究了如何使用来完成此操作之后will_paginate,看来您也可以使用该param_name参数

<%= will_paginate @products, param_name: 'products_page' %>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

同一网页上的两个jQuery对话框出现问题

在同一网页中生成2个DOM树

如何在同一网页上添加第二个幻灯片

分类同一网页的不同版本

从 AJAX 调用接收数据后在同一网页上显示接收到的数据

如何在同一网页上打印帖子数据?

如何在同一网页上的HTML表中显示数据库中的php结果(在一个脚本中)

有没有办法可以在同一网页内获得2个完全隔离的javascript上下文?

是什么导致同一网页的文本在不同分辨率的屏幕上以不同的方式显示?

在同一网页上使用多个audio.js播放列表播放器?

如何在同一网页上使用多个具有不同图像的自举超大子?

如何在JMeter中使用断言确认在同一网页上两次显示的文本

如何将screenrotation固定到同一网页

ASP.NET MVC 运行同一网页的多个实例

在同一网络上使用2个NIC进行策略路由似乎无济于事

我想要一个带有按钮的搜索框,我可以在其中复制任何图像 URL 并且我希望该图像显示在同一网页上

有没有一种方法可以链接我的菜单按钮,以便可以滚动到同一网页上的不同部分?

如何使用mod_rewrite使用get变量重定向到同一网页?

html-如何在原始内容顶部的图层中打开同一网页中的图像

量角器无法在同一网页中标识不同div中的定位器

如何在同一网页中两次使用相同的JavaScript小部件?

在Unity中同一网络上的2个iOS手机之间传输小数据

无法在同一网络上的2个SQL服务器之间传输数据

同一网络上的两个网关

试图了解同一网络上两个不同子网之间的交互

如何在同一网络上运行两个微服务?

Python Socket连接同一网络上的两个设备

在同一网址的2个用户之间交换数据

同一网址上的 CORS 问题