NOTICE: official repository moved to https://github.com/KeysetTS/scaffolding
License
rails/scaffolding
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Scaffolding =========== Scaffolding is a way to quickly put an Active Record class online by providing a series of standardized actions for listing, showing, creating, updating, and destroying objects of the class. These standardized actions come with both controller logic and default templates that through introspection already know which fields to display and which input types to use. Example: The render_scaffold method will first check to see if you've made your own template (like "weblog/show.erb" for the show action) and if not, then render the generic template for that action. This gives you the possibility of using the scaffold while you're building your specific application. Start out with a totally generic setup, then replace one template and one action at a time while relying on the rest of the scaffolded templates and actions. Example ======= class WeblogController < ActionController::Base scaffold :entry end This tiny piece of code will add all of the following methods to the controller: class WeblogController < ActionController::Base verify :method => :post, :only => [ :destroy, :create, :update ], :redirect_to => { :action => :list } def index list end def list @entries = Entry.find(:all) render_scaffold "list" end def show @entry = Entry.find(params[:id]) render_scaffold end def destroy Entry.find(params[:id]).destroy redirect_to :action => "list" end def new @entry = Entry.new render_scaffold end def create @entry = Entry.new(params[:entry]) if @entry.save flash[:notice] = "Entry was successfully created" redirect_to :action => "list" else render_scaffold('new') end end def edit @entry = Entry.find(params[:id]) render_scaffold end def update @entry = Entry.find(params[:id]) @entry.attributes = params[:entry] if @entry.save flash[:notice] = "Entry was successfully updated" redirect_to :action => "show", :id => @entry else render_scaffold('edit') end end end Copyright (c) 2004-2007 David Heinemeier Hansson, released under the MIT license
About
NOTICE: official repository moved to https://github.com/KeysetTS/scaffolding
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published