The rails/rails gemnasium page (https://gemnasium.com/rails/rails) is not helping much.
It lists 0 dependencies so there is not much to track. Also our gems mostly depend
on other gems we control. There is not much point in monitoring them.
The batch was introduced with #3909.
The documentation of `#to_key` (http://api.rubyonrails.org/classes/ActiveModel/Conversion.html#method-i-to_key)
states that it returns `nil` if there are no key attributes. `to_param` needs
to be aware of that fact and return `nil` as well.
Previously it raised the following exception:
```
1) Error:
ConversionTest#test_to_param_returns_nil_if_to_key_is_nil:
NoMethodError: undefined method `join' for nil:NilClass
/Users/senny/Projects/rails/activemodel/lib/active_model/conversion.rb:65:in `to_param'
/Users/senny/Projects/rails/activemodel/test/cases/conversion_test.rb:34:in `block in <class:ConversionTest>'
```
Resolve the following error when running `bundle exec rake guides:generate:html`:
```
/Users/senny/.rbenv/versions/2.0.0-p353/bin/ruby rails_guides.rb
Generating 2_2_release_notes.md as 2_2_release_notes.html
/Users/senny/Projects/rails/guides/rails_guides/helpers.rb:17:in `documents_by_section': uninitialized constant RailsGuides::Helpers::YAML (ActionView::Template::Error)
from /Users/senny/Projects/rails/guides/rails_guides/helpers.rb:32:in `docs_for_menu'
from /Users/senny/Projects/rails/guides/source/layout.html.erb:56:in `block in ___sers_senny__rojects_rails_guides_source_layout_html_erb___3094858039481335962_70118647133480'
from /Users/senny/Projects/rails/guides/source/layout.html.erb:54:in `each'
from /Users/senny/Projects/rails/guides/source/layout.html.erb:54:in `___sers_senny__rojects_rails_guides_source_layout_html_erb___3094858039481335962_70118647133480'
from /Users/senny/Projects/rails/actionview/lib/action_view/template.rb:143:in `block in render'
from /Users/senny/Projects/rails/activesupport/lib/active_support/notifications.rb:161:in `instrument'
from /Users/senny/Projects/rails/actionview/lib/action_view/template.rb:337:in `instrument'
from /Users/senny/Projects/rails/actionview/lib/action_view/template.rb:141:in `render'
from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/template_renderer.rb:47:in `render_template'
from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/template_renderer.rb:17:in `render'
from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/renderer.rb:42:in `render_template'
from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/renderer.rb:23:in `render'
from /Users/senny/Projects/rails/actionview/lib/action_view/helpers/rendering_helper.rb:24:in `render'
from /Users/senny/Projects/rails/guides/rails_guides/markdown.rb:160:in `render_page'
from /Users/senny/Projects/rails/guides/rails_guides/markdown.rb:25:in `render'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:205:in `block in generate_guide'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:195:in `open'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:195:in `generate_guide'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:144:in `block in generate_guides'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:142:in `each'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:142:in `generate_guides'
from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:97:in `generate'
from rails_guides.rb:63:in `<main>'
rake aborted!
Command failed with status (1): [/Users/senny/.rbenv/versions/2.0.0-p353/bi...]
/Users/senny/Projects/rails/guides/Rakefile:11:in `block (3 levels) in <top (required)>'
Tasks: TOP => guides:generate:html
(See full trace by running task with --trace)
```
I did not see in the docs that `button_to` supports not only URLs but paths as well. I documented this functionality with a unit tests and added an example to the docs as well.