Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

267
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda