module
ActionController::RecordIdentifier
v2.2.1 -
Show latest stable
The record identifier encapsulates a number of naming conventions for dealing with records, like Active Records or Active <a href="/rails/ActionController/Resources">Resources</a> or pretty much any other model type that has an id. These patterns are then used to try elevate the view actions to a higher logical level. Example:
# routes map.resources :posts # view <% div_for(post) do %> <div id="post_45" class="post"> <%= post.body %> What a wonderful world! <% end %> </div> # controller def destroy post = Post.find(params[:id]) post.destroy respond_to do |format| format.html { redirect_to(post) } # Calls polymorphic_url(post) which in turn calls post_url(post) format.js do # Calls: new Effect.fade('post_45'); render(:update) { |page| page[post].visual_effect(:fade) } end end end
As the example above shows, you can stop caring to a large extent what the actual id of the post is. You just know that one is being assigned and that the subsequent calls in redirect_to and the RJS expect that same naming convention and allows you to write less code if you follow it.
Constants
JOIN = '_'.freeze
NEW = 'new'.freeze
Files
- actionpack/lib/action_controller/record_identifier.rb