polymorphic_url(record_or_hash_or_array, options = {}) public

Constructs a call to a named RESTful route for the given record and returns the resulting URL string. For example:

# calls post_url(post)
polymorphic_url(post) # => "http://example.com/posts/1"
polymorphic_url([blog, post]) # => "http://example.com/blogs/1/posts/1"
polymorphic_url([:admin, blog, post]) # => "http://example.com/admin/blogs/1/posts/1"
polymorphic_url([user, :blog, post]) # => "http://example.com/users/1/blog/posts/1"
polymorphic_url(Comment) # => "http://example.com/comments"


  • :action - Specifies the action prefix for the named route: :new or :edit. Default is no prefix.

  • :routing_type - Allowed values are :path or :url. Default is :url.

    # an Article record polymorphic_url(record) # same as article_url(record)

    # a Comment record polymorphic_url(record) # same as comment_url(record)

    # it recognizes new records and maps to the collection record = Comment.new polymorphic_url(record) # same as comments_url()

    # the class of a record will also map to the collection polymorphic_url(Comment) # same as comments_url()

Show source
Register or log in to add new notes.