I am trying to set up a simple search on my site. First I am grabbing
the string that was entered into the text field and searching through
my article titles.
Next I am splitting the string into an array so i can separate the
search string into individual keywords. What I would like to do now
is loop through that array of keywords and pull in any articles where
the body text contains the keyword.
I have been testing this in the console for my app. So far it looks
like the SQL query is correct but no articles are being added to my
array of articles.
here is a copy of my search action code:
def search
# Collect full query from params, then search article titles for a
match on the full query string
@query = params[:query]
by_title = Article.find(:all, :conditions => [ “active = ? AND
title like ?”, true, “%#{params[:query]}%” ])
# Split the query string into an array of keywords based on
whitespace
keywords = @query.split(/\s+/)
by_keyword = []
keywords.each { |term| by_keyword | Article.find(:all, :conditions
=> [ “active = ? AND body LIKE ?”, true, “%#{term}%” ]) }
@articles = by_title | by_keyword
end
Does anyone have any suggestions?