ryanb / static_actions
- Source
- Commits
- Network (2)
- Issues (2)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
Ryan Bates (author)
Thu Apr 03 11:58:15 -0700 2008
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu Apr 03 10:09:47 -0700 2008 | |
| |
LICENSE | Thu Apr 03 10:09:47 -0700 2008 | |
| |
README | Thu Apr 03 11:58:15 -0700 2008 | |
| |
Rakefile | Thu Apr 03 10:09:47 -0700 2008 | |
| |
init.rb | Thu Apr 03 10:09:47 -0700 2008 | |
| |
install.rb | Thu Apr 03 10:09:47 -0700 2008 | |
| |
lib/ | Thu Apr 03 11:55:25 -0700 2008 | |
| |
spec/ | Thu Apr 03 11:55:25 -0700 2008 | |
| |
tasks/ | Thu Apr 03 10:09:47 -0700 2008 | |
| |
uninstall.rb | Thu Apr 03 10:09:47 -0700 2008 |
README
Static Actions ============== This plugin will allow you to quickly create non-RESTful named routes using "map.static_actions". This way you can truly get rid of that generic ":controller/:action" route. Installation ------------ If you are running edge rails you can install the plugin straight from the repository: script/plugin install git://github.com/ryanb/static_actions.git Otherwise you can install it with this command: git clone --depth=1 git://github.com/ryanb/static_actions.git vendor/plugins/static_actions Instructions ------------ Let's say you have a controller called "about" which has "index", "privacy", and "license" actions. This is a non-RESTful controller and usually requires the generic ":controller/:action" route. Instead we will use this plugin's static_actions method to generate named routes! map.static_actions :about, [:index, :privacy, :license] That is the same as doing this. map.about_index 'about', :controller => 'about', :action => 'index' map.about_privacy 'about/privacy', :controller => 'about', :action => 'privacy' map.about_license 'about/license', :controller => 'about', :action => 'license' It also includes a with_format named route for each action. map.about_index_with_format 'about.:format', :controller => 'about', :action => 'index' map.about_privacy_with_format 'about/privacy.:format', :controller => 'about', :action => 'privacy' map.about_license_with_format 'about/license.:format', :controller => 'about', :action => 'license' Now you have 6 named routes you can use in your view. <%= link_to "Privacy", about_privacy_path %> <%= link_to "License PDF", about_license_with_format_path(:pdf) %> If you just have a single action, you can use the singular static_action method which doesn't take an array. map.static_action :about, :privacy If you don't want the controller name to be in the named route or path, you can prefix the method with "root_". map.root_static_actions :about, [:index, :privacy, :license] This will generate the following routes. map.root :controller => 'about' map.privacy 'privacy', :controller => 'about', :action => 'privacy' map.license 'license', :controller => 'about', :action => 'license' map.privacy_with_format 'privacy.:format', :controller => 'about', :action => 'privacy' map.license_with_format 'license.:format', :controller => 'about', :action => 'license' Happy routing. --- Copyright (c) 2008 Ryan Bates, released under the MIT license
