I am displaying a list of gyms, and users can view gyms by province. I would like to add search capability using the Ransack gem, but I am not sure how to go about it with my current set up. Looking for some advice.
Gyms controller
def index
if params[:province].blank?
@gyms=Gym.all.order("created_at desc").paginate(:page => params[:page], :per_page => 18)
else
@province_id = Province.find_by(name: params[:province]).id
@gyms = Gym.where(province_id: @province_id).order("created_at DESC").paginate(:page => params[:page], :per_page => 18)
end
end
thank you in advance.
Figured it out. Just replaced my existing controller code with this:
@q = Gym.ransack(params[:q])
@gyms = @q.result.includes(:province).page(params[:page]).order("created_at DESC").paginate(:page => params[:page], :per_page => 18)