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!

