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"

Options

  • :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.

Examples

  # 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.