我一直致力于一个人们发布和搜索优惠的网页项目。我是新手,我一直在研究如何制作一个简单的搜索表单。我目前正在使用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>
答案 0 :(得分:0)
从searchkick doc,试试这个
Offer.search search, fields: [:nombre], match: :word_start