Hi,
I am trying to add search functionality to may application. I am
struggeling to pass my query to the controller and then show all my
search results in another view. How would I do this?
Model:
class Advert < ActiveRecord::Base
belongs_to :user
def self.search(query)
if !query.to_s.strip.empty?
tokens = query.split.collect {|c| "%#{c.downcase}%"}
find_by_sql(["select s.* from songs s where #{
(["(lower(s.song_title) like ? or lower(s.song_lyrics) like ?)"] *
tokens.size).join(" and “) } order by s.created_on desc”, *(tokens *
2).sort])
else
[]
end
end
end
Controller:
def search
@query = @params[“query”]
@adverts = Advert.search(@query)
end
#Searches for Adverts
def search_results
@query = @params[“query”]
@adverts = Advert.search(@query)
end
View:
search.rhtml:
<%= form_tag %>
Search: | <%= text_field("advert", "query") %> |
<%= end_form_tag %>
search_results.rhtml:
Search results for: <%=h @query %>
Thanks,
David