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
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request