Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

254
Views
pg_search + Rails: evita el redireccionamiento a la página con resultados de búsqueda si no hubiera ninguno de ellos

Agradezco una ayuda. Estoy usando Rails 4, Ruby 2.2.3 y PostgreSQL 9.6. Tengo un sitio web con búsqueda basada en pg_search y funciona perfectamente con múltiples modelos:

 /app/models/event.rb: multisearchable against: [:title, :subtitle]

Tanto los modelos de búsqueda como el controlador de búsqueda se configuran de manera muy simple mediante manuales oficiales.

 /app/controllers/results_controller.rb: class ResultsController < FrontendController def index @search_results = PgSearch.multisearch(params[:query]) end end

Y mi vista de resultados:

 /app/views/results/index.slim: .search-results-wrap - @search_results.each do |pg_search_document| #showing title of each result, etc.

Ahora necesito mejorarlo comprobando antes de redirigir a la página con resultados de búsqueda. ¿Hay algún resultado? Quiero decir, no tiene mucho sentido redirigir si no hay resultados y será más inteligente mostrar un mensaje flash (o algo así) "lo siento, no hay resultados" en la página actual.

¿Hay formas posibles de hacerlo?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

¿Algo como esto?

 if (<your search function>).empty? flash.now[:notice] = "No, results" render '<your current search page>' else redirect_to '<your search results page>' end
over 4 years ago · Santiago Trujillo Report

0

Recomiendo usar el enfoque modelo

Artículo.rb

 def self.search(query) if query.present? search_for(query) # takes you to your search method else # No query? Return all records, newest first. Article.all.order('updated_at DESC') end end pg_search_scope :search_for, ...

Índice de artículos o página de resultados de búsqueda de búsqueda

 - if @articles.present? # Show articles - else p No articles found. Use other queries

Controlador

 def index @articles = Article.search(params[:query])

La mejor práctica es decirle siempre al usuario si está obteniendo algún resultado o si cometió un error tipográfico o necesita buscar las cosas de manera diferente.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!