RailsNamespacePathHelper
An extension for namespaced controllers
Namespacing is a common pattern in rails, however...
Rails does not account for namespacing when looking for helpers on controllers
- Eg. for
Admin::TasksController
- helpers are declared
admin_tasks_url
- however rails bolierplate expects
tasks_url
to be available
- helpers are declared
This gem dynamically creates aliases for these methods so that nothing needs to be reconfigured
Usage
To use simply call:
-
has_namespaced_paths
at the top of each controller with a namespace - or
has_namespaced_path_plural
/has_namespaced_path_singular
for only plural/singular paths
Like this:
# in controllers/admin/tasks_controller.rb
class Admin::TasksController < ApplicationController
has_namespaced_paths
...
end
Installation
Install the gem and add to the application's Gemfile by executing:
$ bundle add rails_namespace_path_helper
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install rails_namespace_path_helper
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/benenb/rails_namespace_path_helper.
License
The gem is available as open source under the terms of the MIT License.