Index Seite nur mit Searchresults

Verknüpfung von View & Controller, Design, (X)HTML, CSS

Index Seite nur mit Searchresults

Beitragvon Sir Jay am 29.01.2013, 17:24

Hi, ich bin noch relativ frisch in Rails und arbeite eng an Einsteigertutorials.
Grundlegend wird ja über den scaffold generatoren eine Indexseite geschaffen, in der sämtliche Einträge eines Models (bzw der Datenbank) aufgelistet werden. Das ist natürlich wenig sinnvoll, vor allem, wenn irgendwann Tausende von Einträgen gibt. Ich möchte, dass auf der Index-Seite ausschließlich nur die Titel angezeigt werden, die ich über die Search Funktion gesucht habe.

Wie gehe ich da am Besten vor? Meine Idee war im ApplicationController eine Art "search_used?" Methode zu definieren, die ich als if-statement verwende, um dort schließlich den folgenden html.erb Code hineinzu verlagern:

Code: Alles auswählen
   <%= form_tag games_path, :method => 'get' do %>
     <p>
       <%= text_field_tag :search, params[:search] %>
       <%= submit_tag "Search", :title_german => nil %>
     </p>
   <% end %>


Mein Model sieht so aus

Code: Alles auswählen
class Game < ActiveRecord::Base
 
  def self.search(search)
    if search
      find(:all, :conditions => ['title_german LIKE ?', "%#{search}%"])
    else
      find(:all)
    end
  end
end


class GamesController < ApplicationController

  def index
    @games = Game.search(params[:search])
  end
end


Aber ich weiß im Moment noch leider nicht, wie ich in so einer Methode auf die Search Funktion zugreifen kann :/ Oder gibt es vorgefertigte Helper? Würde mich über Hilfestellung freuen!
Sir Jay
 
Beiträge: 2
Registriert: 17.12.2012, 20:55

Zurück zu V - View

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron