Ruby on Rails ActiveRecord How to get a where clause to always evaluate to be true -


hi guys i'm new ruby on rails , making simple resource app. app has filters in 3 major categories (courses, years, resource type) may or may not present. these filters passed through parameters in url. store these parameters in 3 arrays called courses, years, resource type. array may empty. when try run search empty array (ex. maybe resourcetype empty want particular resource particular year can of type), returns empty set. there way use wild card in function? if not can propose suitable solution? appreciated

here function trying run.

     @resources= resource.where(class_name: courses,                            year: years,                            resource_type: resourcetypes)                           .paginate(page: params[:page], per_page: 10)                           .order(:cached_votes_total => :desc) 

try:

query = { }  query[:class_name] = courses if courses.present? query[:year] = years if years.present? query[:resource_type] = coursresourcetypeses if coursresourcetypeses.present?  @resources = resource.where(query).paginate(page: params[:page], per_page: 10).order(cached_votes_total: :desc) 

Comments

Popular posts from this blog

apache - PHP Soap issue while content length is larger -

asynchronous - Python asyncio task got bad yield -

javascript - Complete OpenIDConnect auth when requesting via Ajax -