aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-06-26 14:34:13 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-06-26 14:34:13 +0000
commitb17e17898133812abf1f9405cdc6db0ee3879a52 (patch)
tree67d0052e9308fd69e9ed3cf6003ff4636206d438 /actionpack
parent521d5fdc72f776e255454a4229bfd1a110da8bc3 (diff)
downloadrails-b17e17898133812abf1f9405cdc6db0ee3879a52.tar.gz
rails-b17e17898133812abf1f9405cdc6db0ee3879a52.tar.bz2
rails-b17e17898133812abf1f9405cdc6db0ee3879a52.zip
Renamed remote_sortable to sortable_element
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1526 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/auto_complete.rb31
-rw-r--r--actionpack/lib/action_view/helpers/javascript_helper.rb3
2 files changed, 32 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/auto_complete.rb b/actionpack/lib/action_controller/auto_complete.rb
new file mode 100644
index 0000000000..606f43b350
--- /dev/null
+++ b/actionpack/lib/action_controller/auto_complete.rb
@@ -0,0 +1,31 @@
+module ActionController
+ # Example:
+ #
+ # # Controller
+ # class BlogController < ApplicationController
+ # auto_complete_for :post, :title
+ # end
+ #
+ # # View
+ # <%= text_field_with_auto_complete :post, title %>
+ module AutoComplete
+ def self.append_features(base) #:nodoc:
+ super
+ base.extend(ClassMethods)
+ end
+
+ module ClassMethods
+ def auto_complete_for(object, method)
+ define_method("auto_complete_for_#{object}_#{method}") do
+ @items = object.to_s.camelize.constantize.find(
+ :all,
+ :conditions => [ "LOWER(#{method}) LIKE ?", '%' + request.raw_post.downcase + '%' ],
+ :order => "#{method} ASC"
+ )
+
+ render :inline => "<%= auto_complete_result @items, '#{method}' %>"
+ end
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/actionpack/lib/action_view/helpers/javascript_helper.rb b/actionpack/lib/action_view/helpers/javascript_helper.rb
index 7b857f4f18..a53b284c22 100644
--- a/actionpack/lib/action_view/helpers/javascript_helper.rb
+++ b/actionpack/lib/action_view/helpers/javascript_helper.rb
@@ -294,8 +294,7 @@ module ActionView
#
# You can change the behaviour with various options, see
# http://script.aculo.us for more documentation.
- #
- def remote_sortable(element_id, options = {})
+ def sortable_element(element_id, options = {})
options[:with] ||= "Sortable.serialize('#{element_id}')"
options[:onUpdate] ||= "function(){" + remote_function(options) + "}"
options.delete_if { |key, value| AJAX_OPTIONS.include?(key) }