11 days ago

jdstore 增加search bar步骤

1、在_navbar.html.erb中添加如下代码

 <li class="navbar-form navbar-left" >
   <div class="form-group">
     <%= search_form_for @q do |f| %>
       <%= f.label :搜索栏的名字 %>
       <%= f.search_field :title_cont, class: 'form-control input-sm', 'datepicker' => true %>
       <%= f.submit :class => "btn btn-default" %>
     <% end %>
   </div>
</li>

2、在controllers/welcome_controller.rb_

  def index
      @q = Product.ransack(params[:q])      
  end

3、在controllers/products_controller.rb

   def index
         @q = Product.ransack(params[:q])
         @products = @q.result(distinct: true)
   end

4、 在application_controller.rb 里面添加

 before_filter :set_global_search_variable
 
   def set_global_search_variable
       @q = Product.search(params[:q])
   end

不添加这段的话在点击购物车时会报错,因为购物车页面加载navbar时还要去找搜索结果。原理我也不是很清楚。google出来的方法。

参考 : http://blog-dkx1982.logdown.com/posts/1453398-how-to-add-on-navbar-search-box-and-search-results

← 5.15 orid