From 1d4d037b0d74fbc3c1cad1c192a6ea7278aff081 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 Sep 2006 20:54:10 +0000 Subject: Added access to nested attributes in RJS (closes #4548) [richcollins@gmail.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5004 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_view/helpers/prototype_helper.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb index 1b915882c6..1f547d4809 100644 --- a/actionpack/lib/action_view/helpers/prototype_helper.rb +++ b/actionpack/lib/action_view/helpers/prototype_helper.rb @@ -777,6 +777,21 @@ module ActionView super(generator, "$(#{id.to_json})") end + # Allows access of element attributes through +attribute+. Examples: + # + # page['foo']['style'] # => $('foo').style; + # page['foo']['style']['color'] # => $('blank_slate').style.color; + # page['foo']['style']['color'] = 'red' # => $('blank_slate').style.color = 'red'; + # page['foo']['style'].color = 'red' # => $('blank_slate').style.color = 'red'; + def [](attribute) + append_to_function_chain!(attribute) + self + end + + def []=(variable, value) + assign(variable, value) + end + def replace_html(*options_for_render) call 'update', @generator.send(:render, *options_for_render) end -- cgit v1.2.3