1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#controller def search if params[:search] @query = params[:search][:query] @age = params[:search][:age] unless params[:search][:age].blank? unless params[:search][:course_category_id].blank? @course_category = CourseCategory.find(params[:search][:course_category_id]) @selected_category = [@course_category.title, @course_category.id] course_category_id = @course_category.id end end @courses = Course.paged_search(@query, @age, course_category_id, params[:page] ) add_breadcrumb [_("Vyhledávání:") + ' ' + (@query || ""), nil ] @course_categories = CourseCategory.find(:all) end #view <%= select(:search, :age, [[_("Bez omezení"), ""], [_("1 rok"), 1.year.ago.to_s(:db)], [_("1 měsíc"), 1.month.ago.to_s(:db)], [_("1 týden"), 1.week.ago.to_s(:db)], [_("24 hodin"), 1.day.ago.to_s(:db)]], :selected => @selected_age )%>
Refactorings
No refactoring yet !
danielharan
October 7, 2008, October 07, 2008 14:40, permalink
Is this what's going on when params[:search] is nil?
1 2 3 4
def search Course.paged_search nil, nil, nil, params[:page] # ... add breadcrumb and course_categories end
Adam
October 7, 2008, October 07, 2008 14:46, permalink
app/models/course.rb
1 2 3 4 5 6 7 8 9 10 11 12 13
class Course < ActiveRecord::Base def self.search(search, page) query = search[:query] age = search[:age] unless search[:age].blank? begin category_id = CourseCategory.find(search[:course_category_id]).id rescue ActiveRecord::RecordNotFound end paged_search(query, age, category_id, page) end end
app/controllers/courses_controller.rb
1 2 3 4 5 6 7 8 9 10 11 12 13
class CoursesController < ApplicationController before_filter :set_course_categories, :only => :search def search @courses = Course.search(params[:search] || {}, params[:page]) add_breadcrumb [ _("Vyhledávání: #{@courses.query}"), nil ] end private def set_course_categories @course_categories = CourseCategory.all end end
How would you make this code a little simpler and nicer? Thanks