使用searchkick进行ROR搜索无法正常工作

时间:2017-10-19 23:59:04

标签: html ruby-on-rails ruby elasticsearch searchkick

我一直致力于一个人们发布和搜索优惠的网页项目。我是新手,我一直在研究如何制作一个简单的搜索表单。我目前正在使用searchkick gem并且我已经遵循了很多教程,但是我的代码似乎不起作用。提前谢谢

这是我的相关代码

    #app/controllers/offers_controller.rb
    class OffersController < ApplicationController
        before_action :authenticate_user!
        before_action :set_offer, only: [:show, :edit, :update, :destroy]

       def index
       search = params[:term].present? ? params[:term] : nil
       @offers = if search
               Offer.search(search)
           else
              Offer.all
           end
       end


#db/migrate/create_offers.rb
class CreateOffers < ActiveRecord::Migration[5.1]
   def change
      create_table :offers do |t|
         t.string :nombre
         t.text :descripcion
         t.string :imagen, null:true
         t.references :user, foreign_key: true
         t.timestamps
      end
   end
end

 #app/models/offer.rb
class Offer < ApplicationRecord
   searchkick word_start: [:nombre] # word_middle: [:nombre, :descripcion]


  def search_data
   { 
     nombre: nombre,
     descripcion: descripcion
   }
  end

 #app/views/layouts/_header.html.erb
  <div class="input-group-btn search-panel">
            <%= submit_tag 'Search', name: nil, class: "btn btn-default" %>
  </div> 

1 个答案:

答案 0 :(得分:0)

从searchkick doc,试试这个

Offer.search search, fields: [:nombre], match: :word_start