= ActionView::RecordIdentifier ------------------------------------------------------------------------ = Extended by: ModelNaming (from /home/chedong/.local/share/rdoc) (from /home/chedong/.local/share/rdoc) ------------------------------------------------------------------------ RecordIdentifier encapsulates methods used by various ActionView helpers to associate records with DOM elements. Consider for example the following code that form of post: <%= form_for(post) do |f| %> <%= f.text_field :body %> <% end %> When post is a new, unsaved ActiveRecord::Base instance, the resulting HTML is: <form class="new_post" id="new_post" action="/posts" accept-charset="UTF-8" method="post"> <input type="text" name="post[body]" id="post_body" /> </form> When post is a persisted ActiveRecord::Base instance, the resulting HTML is: <form class="edit_post" id="edit_post_42" action="/posts/42" accept-charset="UTF-8" method="post"> <input type="text" value="What a wonderful world!" name="post[body]" id="post_body" /> </form> In both cases, the id and class of the wrapping DOM element are automatically generated, following naming conventions encapsulated by the RecordIdentifier methods #dom_id and #dom_class: dom_id(Post.new) # => "new_post" dom_class(Post.new) # => "post" dom_id(Post.find 42) # => "post_42" dom_class(Post.find 42) # => "post" Note that these methods do not strictly require Post to be a subclass of ActiveRecord::Base. Any Post class will work as long as its instances respond to to_key and model_name, given that model_name responds to param_key. For instance: class Post attr_accessor :to_key def model_name OpenStruct.new param_key: 'post' end def self.find(id) new.tap { |post| post.to_key = [id] } end end ------------------------------------------------------------------------ = Constants: JOIN: [not documented] NEW: [not documented] = Instance methods: dom_class dom_id record_key_for_dom_id
Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-30 07:51 @216.73.217.106
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)