diff options
author | yui-knk <spiketeika@gmail.com> | 2015-08-01 23:08:53 +0900 |
---|---|---|
committer | yui-knk <spiketeika@gmail.com> | 2015-08-01 23:08:53 +0900 |
commit | 2ea95a522a058183c27552d78722ed52716b3b13 (patch) | |
tree | 55656812e5103756eb3060e3948d7e5ba3a6da26 /guides | |
parent | d1cdf52db608ad53b676581f9482e100d4be35bd (diff) | |
download | rails-2ea95a522a058183c27552d78722ed52716b3b13.tar.gz rails-2ea95a522a058183c27552d78722ed52716b3b13.tar.bz2 rails-2ea95a522a058183c27552d78722ed52716b3b13.zip |
[ci skip]
Add descriptions about `ActiveRecord::Base#to_param` to
* `ActionDispatch::Routing::Base#match`
* Overriding Named Route Parameters (guide)
When passes `:param` to route definision, always `to_param` method of
related model is overridden to constructe an URL by passing these
model instance to named_helper.
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/routing.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/guides/source/routing.md b/guides/source/routing.md index 52f11f92bd..02763eabcd 100644 --- a/guides/source/routing.md +++ b/guides/source/routing.md @@ -1087,6 +1087,20 @@ edit_videos GET /videos/:identifier/edit(.:format) videos#edit Video.find_by(identifier: params[:identifier]) ``` +You can override `ActiveRecord::Base#to_param` of a related +model to constructe an URL. + +```ruby +class Video < ActiveRecord::Base + def to_param # overridden + identifier + end +end + +video = Video.find_by(identifier: "Roman-Holiday") +edit_videos_path(video) # => "/videos/Roman-Holiday" +``` + Inspecting and Testing Routes ----------------------------- |