-1
J'ai travaillé sur un projet de page Web dans lequel les gens postent et recherchent des offres. Je suis vraiment nouveau à ce sujet et j'ai fait des recherches sur la façon de faire un formulaire de recherche simple. Je travaille actuellement avec searchkick gem et j'ai suivi beaucoup de tutoriel, mais mon code ne semble pas fonctionner. Nous vous remercions à l'avanceROR recherche avec searchkick ne fonctionne pas
Voici mon code correspondant
#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>
Quelle est votre question? – sawa
Pourquoi ça ne marche pas? –
Y a-t-il une erreur? Si oui, partagez-le. Avez-vous essayé d'exécuter 'Offer.search (" vos termes de recherche ")' dans une session de console IRB? Si vous voyez les résultats corrects, vous pouvez exclure cette ligne de code. Est-ce que votre terme de recherche est passé correctement dans les paramètres de params [: term]? Je l'imprimerais aux logs pour m'assurer. – BigRon