lib/searchlogic/rails_helpers.rb in binarylogic-searchlogic-2.1.8 vs lib/searchlogic/rails_helpers.rb in binarylogic-searchlogic-2.1.9

- old
+ new

@@ -15,10 +15,11 @@ # # * <tt>:by</tt> - the name of the named scope. This helper will prepend this value with "ascend_by_" and "descend_by_" # * <tt>:as</tt> - the text used in the link, defaults to whatever is passed to :by # * <tt>:ascend_scope</tt> - what scope to call for ascending the data, defaults to "ascend_by_:by" # * <tt>:descend_scope</tt> - what scope to call for descending the data, defaults to "descend_by_:by" + # * <tt>:params</tt> - hash with additional params which will be added to generated url # * <tt>:params_scope</tt> - the name of the params key to scope the order condition by, defaults to :search def order(search, options = {}, html_options = {}) options[:params_scope] ||= :search options[:as] ||= options[:by].to_s.humanize options[:ascend_scope] ||= "ascend_by_#{options[:by]}" @@ -35,11 +36,14 @@ options[:as] = "&#9660;&nbsp;#{options[:as]}" css_classes << "descending" end html_options[:class] = css_classes.join(" ") end - link_to options[:as], url_for(options[:params_scope] => search.conditions.merge( { :order => new_scope } ) ), html_options + url_options = { + options[:params_scope] => search.conditions.merge( { :order => new_scope } ) + }.deep_merge(options[:params] || {}) + link_to options[:as], url_for(url_options), html_options end # Automatically makes the form method :get if a Searchlogic::Search and sets # the params scope to :search def form_for(*args, &block) @@ -64,6 +68,6 @@ else super end end end -end \ No newline at end of file +end