This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
MIT-LICENSE | Sun Mar 04 00:35:52 -0800 2007 | [jeremy] |
| |
README | Sun Mar 04 00:35:52 -0800 2007 | [jeremy] |
| |
Rakefile | Sun Mar 04 00:35:52 -0800 2007 | [jeremy] |
| |
init.rb | Sun Mar 04 00:35:52 -0800 2007 | [jeremy] |
| |
lib/ | Sun Mar 04 00:35:52 -0800 2007 | [jeremy] |
| |
test/ | Sun Mar 04 00:35:52 -0800 2007 | [jeremy] |
README
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




