want to include the parameters only if they are different to nil or blank.
Here is my method:
def self.advsearch(summary_description, specialties, place)
User.joins(:experience,:summary,:information)
.where(Information.arel_table[:business].eq(false))
.where(Experience.arel_table[:description].matches("%#{summary_description}%")
.or(Experience.arel_table[:description].matches("%#{summary_description.capitalize}%"))
.or(Experience.arel_table[:job_title].matches("%#{summary_description}%"))
.or(Experience.arel_table[:job_title].matches("%#{summary_description.capitalize}%"))
.or(Summary.arel_table[:summary_description].matches("%#{summary_description}%"))
.or(Summary.arel_table[:specialties].matches("%#{specialties}%"))
.or(Information.arel_table[:address].matches("%#{place}%")))
.order
.uniq
end
I would like to do something like this:
def self.advsearch(summary_description, specialties, place)
User.joins(:experience,:summary,:information)
.where(Information.arel_table[:business].eq(false))
.where(Experience.arel_table[:description].matches("%#{summary_description}%") unless !summary_description.nil?
.or(Experience.arel_table[:description].matches("%#{summary_description.capitalize}%")) unless !summary_description.nil?
.or(Experience.arel_table[:job_title].matches("%#{summary_description}%")) unless !summary_description.nil?
.or(Experience.arel_table[:job_title].matches("%#{summary_description.capitalize}%")) unless !summary_description.nil?
.or(Summary.arel_table[:summary_description].matches("%#{summary_description}%")) unless !summary_description.nil?
.or(Summary.arel_table[:specialties].matches("%#{specialties}%")) unless !summary.nil?
.or(Information.arel_table[:address].matches("%#{place}%"))) unless !place.nil?
.order
.uniq
end
I trying to google something similar, but I didn't find anything like that.
Thanks in advance for your help.
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/tsJcQvmaraAJ.
For more options, visit https://groups.google.com/groups/opt_out.