module ActiveScaffold::Actions::Search
Public Class Methods
included(base)
click to toggle source
# File lib/active_scaffold/actions/search.rb, line 5 def self.included(base) base.before_filter :search_authorized_filter, :only => :show_search base.before_filter :store_search_params_into_session, :only => [:index] base.before_filter :do_search, :only => [:index] base.helper_method :search_params end
Public Instance Methods
show_search()
click to toggle source
# File lib/active_scaffold/actions/search.rb, line 12 def show_search respond_to_action(:search) end
Protected Instance Methods
do_search()
click to toggle source
# File lib/active_scaffold/actions/search.rb, line 26 def do_search query = search_params.to_s unless query.empty? columns = active_scaffold_config.search.columns text_search = active_scaffold_config.search.text_search query = query.split(active_scaffold_config.search.split_terms) if active_scaffold_config.search.split_terms search_conditions = self.class.create_conditions_for_columns(query, columns, text_search) self.active_scaffold_conditions = merge_conditions(self.active_scaffold_conditions, search_conditions) @filtered = !search_conditions.blank? includes_for_search_columns = columns.collect{ |column| column.includes}.flatten.uniq.compact self.active_scaffold_includes.concat includes_for_search_columns active_scaffold_config.list.user.page = nil end end
search_respond_to_html()
click to toggle source
# File lib/active_scaffold/actions/search.rb, line 18 def search_respond_to_html render(:action => "search") end
search_respond_to_js()
click to toggle source
# File lib/active_scaffold/actions/search.rb, line 22 def search_respond_to_js render(:partial => "search") end
Private Instance Methods
search_formats()
click to toggle source
# File lib/active_scaffold/actions/search.rb, line 50 def search_formats (default_formats + active_scaffold_config.formats + active_scaffold_config.search.formats).uniq end