I have a search box, and need to search through 2 parameters, "title" or "tags" using the query. I can get one parameter to work, but not two, tried 'OR', '||', ',' nothing works.
Whats the answer ?
Original code: Book.where("title LIKE ?" , "%#{query}%")
What I need: Book.where("title LIKE ?" , "%#{query}%" OR "tags LIKE ?" , "%#{query}%")
Book.where("title LIKE ? OR tags like ?" , "%#{query}%", "%#{query}%")
You should have the "full" SQL query first which contains the placeholders (?) as the first argument for the where query and then the remaining arguments are simply the replacements for the placeholders.
For more information please see the Active Record Querying guide.
I suggest you take a look at metawhere which is dedicated to complicated queries (I know this one isn't but it worth noticing).
See Railscast.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With