Hey hamlers,
For various reasons I don't like exposing object ids to the world. Since you
can override #to_param in your AR classes (it defaults to aliasing #id) and
have that value used in your URIs, I figure that's also a good value to use
for dom IDs and such. This does no sanitation of the output of #to_param,
but then that value is supposed to be URI-safe, so anyone overriding
#to_param should know what they're doing.
Here's the patch. Thoughts?
Index: test/haml/mocks/article.rb
===================================================================
--- test/haml/mocks/article.rb (revision 563)
+++ test/haml/mocks/article.rb (working copy)
@@ -1,6 +1,6 @@
class Article
attr_accessor :id, :title, :body
def initialize
- @id, @title, @body = 1, 'Hello', 'World'
+ @id, @to_param, @title, @body = 1, 1, 'Hello', 'World'
end
end
\ No newline at end of file
Index: lib/haml/buffer.rb
===================================================================
--- lib/haml/buffer.rb (revision 563)
+++ lib/haml/buffer.rb (working copy)
@@ -194,7 +194,7 @@
# Let's make sure the value isn't nil. If it is, return the default
Hash.
return {} if ref.nil?
class_name = underscore(ref.class)
- id = "#{class_name}_#{ref.id || 'new'}"
+ id = "#{class_name}_#{ref.to_param || 'new'}"
{'id' => id, 'class' => class_name}
end
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---