Ich habe in meinem Projekt eine Suchfunktion die nach 2 Kritieren suchen soll und nur jene ergebnisse liefert auf die beide Zutreffen, also nur wenn das Suchwort als Tag gespeichert und die gewählte Programmiersprache übereinstimmt, sodass z.B. wenn man nach "sort" sucht und Java einstellt, Ergebnisse für C kommen.
Leider ist es mir bislang nicht gelungen das das auch funktioniert. Die Suche nach einem Tag funktioniert ohne Probleme, sowie ich versuche die Programmiersprache miteinzubeziehen, geht gar nichts mehr.
Konkret sieht das in meinem Programm so aus:
Model:
View:
Controller:
Im Model hab ich jetzt die Versuche wieder rückgängig gemacht und nur die Suche nach den Tags drinnen, weil eben alles andere dazu geführt hat das gar nichts mehr geht. Im Controller hab ich die Zeile auskommentiert in der beide gesucht werden sollten. Ich hoffe jemand kann mir hier helfen damit das ganze funktioniert.
Vielen Dank!
Leider ist es mir bislang nicht gelungen das das auch funktioniert. Die Suche nach einem Tag funktioniert ohne Probleme, sowie ich versuche die Programmiersprache miteinzubeziehen, geht gar nichts mehr.
Konkret sieht das in meinem Programm so aus:
Model:
View:
Quellcode
- <% form_tag :controller => 'code_snippets', :method => 'get' do %>
- <p>
- <%= text_field_tag :search, params[:search] %>
- <%= select_tag (:lang, options_for_select(["C", "C++", "CSS", "HTML", "Java", "Javascript", "RHTML", "Python", "Ruby", "SQL", "XML"]), {:multiple => false}) %>
- <%= submit_tag "Search", :name => nil %>
- </p>
- <% end %>
Controller:
Quellcode
- def index
- if params[:search]
- search_condition = "%#{params[:search]}%"
- @code_snippets = CodeSnippet.find(:all, :conditions => ['tags LIKE ?', search_condition])
- # @code_snippets = CodeSnippet.find(:all, :conditions => ['tags LIKE ? AND language LIKE ?', search_condition, :lang])
- else
- @code_snippets = CodeSnippet.find(:all)
- end
- end
Im Model hab ich jetzt die Versuche wieder rückgängig gemacht und nur die Suche nach den Tags drinnen, weil eben alles andere dazu geführt hat das gar nichts mehr geht. Im Controller hab ich die Zeile auskommentiert in der beide gesucht werden sollten. Ich hoffe jemand kann mir hier helfen damit das ganze funktioniert.
Vielen Dank!