# DynamicController Simple way to add CRUD actions into Rails controllers. Suppoted formats HTML and JSON. Tested with Ruby 1.9.3 and Rails 3.2.8. ## Installation Add this line to your application's Gemfile: gem 'dynamic_controller' And then execute: $ bundle Or install it yourself as: $ gem install dynamic_controller ## Adding CRUD actions to resource controller class UsersController < ApplicationController has_crud_actions end has_crud_actions adds index, show, new, edit, create, update and destroy actions to controller ## Explicit action specification class UsersController < ApplicationController has_crud_actions only: [:index, :new, :create] end or class UsersController < ApplicationController has_crud_actions except: :destroy end ## Nested resources support class ProfilesController < ApplicationController has_crud_actions nested_of User end If has more than one nested level should use class StreetsController < ApplicationController has_crud_actions nested_of Country nested_of City end ## Redefining responder class LanguagesController < ApplicationController has_crud_actions respond_to_create :html do redirect_to action: :index end respond_to_update do |format| format.html { redirect_to action: :index } format.json { render json: @language } end end ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Added some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request