module ActionView::RecordIdentifier
def dom_id(record_or_class, prefix = nil)
dom_id(Post.find(45), :edit) # => "edit_post_45"
If you need to address multiple instances of the same class in the same view, you can prefix the dom_id:
dom_id(Post) # => "new_post"
dom_id(Post.find(45)) # => "post_45"
If no id is found, prefix with "new_" instead.
The DOM id convention is to use the singular form of an object or class with the id following an underscore.
def dom_id(record_or_class, prefix = nil) raise ArgumentError, "dom_id must be passed a record_or_class as the first argument, you passed #{record_or_class.inspect}" unless record_or_class record_id = record_key_for_dom_id(record_or_class) unless record_or_class.is_a?(Class) if record_id "#{dom_class(record_or_class, prefix)}#{JOIN}#{record_id}" else dom_class(record_or_class, prefix || NEW) end end