2017-10-19 2 views
-1

Ich habe an einem Webseitenprojekt gearbeitet, in dem Leute Angebote posten und suchen. Ich bin wirklich neu und ich habe recherchiert, wie man ein einfaches Suchformular erstellt. Ich arbeite gerade mit searchkick gem und ich habe viel Tutorial, aber mein Code scheint nicht zu funktionieren. Vielen Dank im VorausSuche nach ROR mit searchkick funktioniert nicht

Hier mein entsprechenden Code ist

#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

Was ist Ihre Frage? – sawa

+0

Warum funktioniert es nicht? –

+0

Gibt es einen Fehler, der auftritt? Wenn ja, teile es. Haben Sie versucht, Offer.search ("Ihre Suchbegriffe") in einer irb-Konsolensitzung auszuführen? Wenn Sie die richtigen Ergebnisse sehen, können Sie diese Codezeile ausschließen. Wird Ihr Suchbegriff korrekt durch die Params an params [: term] übergeben? Ich würde es in die Protokolle drucken, um sicherzustellen, dass. – BigRon

Antwort

0

Vom searchkick doc, versuchen Sie diese

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