response_for_rc
if you’re using resources_controller and response_for, you probably want this!
What is it?
It’s an alternate set of RC actions, written in response_for style.
How to use it?
For Rails 3.0 and newer just add it to your Gemfile:
gem 'response_for_rc'
This will install resources_controller and response_for.
For older versions of rails you’ll need to install the rails2 branch in vendor/plugins:
cd vendor/plugins
git clone git://github.com/ianwhite/response_for_rc.git
cd response_for_rc
git checkout rails2
rmdir -f .git
What else can I do with it?
If you’re writing your own RC actions with responses, refactored in modules, you’ve probably noticed what an ass it is to add the responses (you need to stick it in self.included and add them on the including class, etc, etc).
Recent developments on response_for resources_controller, and now response_for_rc, mean you can now do stuff like this
module MyActions
extend RcResponseFor::ResponsesModule # <= this baby gives your module the ability to understand response_for
# <= and to add responses to any including controller
def new
# your new
end
response_for :new do |format|
# your new response
end
def show
# your show
end
response_for :show do |format|
# your show response
end
# and others
end
# later
class FoosController < ApplicationController
resources_controller_for :foos, :actions => MyActions
# you get all of the above actions and responses
end
# also works with :only and :except
class BarsController < ApplicationController
resources_controller_for :bars, :actions => MyActions, :only => [:new]
# only get new and new response
end
# if you want to set your own actions globally (as the default, look in init.rb to see how)
Requirements
You need resources_controller (gem rc_rails) and response_for (gem response_for_rails). These are installed for you if using bundler.