结合搜索和will_paginate

时间:2017-06-05 16:10:52

标签: ruby-on-rails ruby will-paginate

用户可以快速搜索数据库中的特定记录。我还添加了一个遗嘱分页,但是当我这样做时,搜索栏没有用。我该如何解决这个问题?

我的控制器

class VendorsController < ApplicationController
    def index
        @vendors = Vendor.search(params[:search])

        @vendors = Vendor.all.paginate(page: params[:page], per_page: 10)

    end

#...
end

索引

#...
<table>
    <tr>
        <% if user_signed_in? %>    
            <%= button_to "New Vendor", new_vendor_path, :method => "get" %>
        <% end %>
        <%= button_to "Inventory", inventories_path, :method => "get" %>
        <%= form_tag vendors_path, :method => "get" do %>
            <%= text_field_tag :search, params[:search] %>
            <%= submit_tag "Search", :contact_name => nil %>
        <% end %>
        <div class = "pag" >
            <%= will_paginate @vendors %>
        </div>            
    </tr>
</table>
#...

2 个答案:

答案 0 :(得分:1)

在索引中,您将使用分页结果中的值替换搜索结果中@vendors的值。

class VendorsController < ApplicationController
    def index
        @vendors = Vendor.search(params[:search])

        @vendors = Vendor.all.paginate(page: params[:page], per_page: 10)

    end

#...
end

尝试将搜索结果分页...

class VendorsController < ApplicationController
    def index
        @vendors = Vendor.search(params[:search]).paginate(page: params[:page], per_page: 10)

    end

#...
end

答案 1 :(得分:0)

您似乎在索引操作中两次分配sudo docker run -it -p 80:80 -d NginxReverseProxy 的值,第二个总是覆盖第一个。