结合搜索和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>
#...

在索引中,您正在从搜索结果中替换 @供应商的值,并带有paginate结果的值。

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

看起来您在索引操作中两次分配了@venders的值,第二个总是覆盖第一个。

相关内容

最新更新