polymorphic_url(record_or_hash_or_array, options = {})
Instance Public methods
Constructs a call to a named RESTful route for the given record and returns the resulting URL string. For example:
1 2 3 4 5 6 | # 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(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
.
Also includes all the options from url_for
. These include such
things as :anchor
or :trailing_slash
. Example
usage is given below:
1 2 3 4 | polymorphic_url([blog, post], anchor: 'my_anchor' ) # => "http://example.com/blogs/1/posts/1#my_anchor" polymorphic_url([blog, post], anchor: 'my_anchor' , script_name: "/my_app" ) # => "http://example.com/my_app/blogs/1/posts/1#my_anchor" |
For all of these options, see the documentation for url_for
.
Functionality
1 2 3 4 5 6 7 8 9 10 11 12 | # 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() |
Please login to continue.