3. Shall I compare thee to a summer's day?
Thou art more lovely and more temperate.
Rough winds do shake the darling buds of May,
And summer's lease hath all too short a date.
Sometime too hot the eye of heaven shines,
And often is his gold complexion dimm'd;
And every fair from fair some time declines,
By chance, or nature's changing course, untrimm'd;
But thy eternal summer shall not fade
...
4.
5. app
controllers
helpers
models
views
config
environments
initializers
db
doc
lib
tasks
log
public
images
javascripts
stylesheets
script
performance
process
test
fixtures
functional
integration
unit
...
30. ActionController::Routing::Routes.draw do |map|
map.releases 'releases/:year/:month/:day',
:controller => 'items', :action => 'index'
end
class ItemsController < ApplicationController
# release listing page; filters on year/month/day from params
def index; end
end
35. ActionController::Routing::Routes.draw do |map|
map.resources :titles, :has_many => [:issues]
end
class IssuesController < ApplicationController
# issue listing page; could be series page
def index; end
end
37. ActionController::Routing::Routes.draw do |map|
map.resources :users
end
class UsersController < ApplicationController
before_filter :require_login, :only => [:edit, :update]
# edit account
def edit; end
# update account
def update; end
end
40. ActionController::Routing::Routes.draw do |map|
map.resources :users, :has_many => [:titles]
end
class TitlesController < ApplicationController
# public view - pull list, given a user_id
def index; end
end
43. ActionController::Routing::Routes.draw do |map|
map.resource :session
end
class SessionsController < ApplicationController
# login form
def new; end
# login action
def create; end
# logout action
def destroy; end
end
46. ActionController::Routing::Routes.draw do |map|
map.resources :contents
map.root :controller => ‘contents’, :action => ‘show’,
:page => ‘homepage’
end
class ContentsController < ApplicationController
# static content
def show
# code to find a template named according to params[:page]
end
end
47. ActionController::Routing::Routes.draw do |map|
map.resources :ads
map.root :ads
end
class AdsController < ApplicationController
# ad index - the million dollar homepage
def index; end
end
50. ActionController::Routing::Routes.draw do |map|
map.resources :instruments
end
class InstrumentsController < ApplicationController
before_filter :require_login
# dashboard
def index
@instruments = current_user.instruments
end
end
52. ActionController::Routing::Routes.draw do |map|
map.resources :posts, :has_one => [:preview]
end
class PreviewsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@post.attributes = params[:post]
render :template => 'posts/show'
end
end
53. ActionController::Routing::Routes.draw do |map|
map.resources :posts
map.resource :preview
end
class PreviewsController < ApplicationController
def create
@post = Post.new(params[:post])
render :template => 'posts/show'
end
end
55. ActionController::Routing::Routes.draw do |map|
map.resources :posts
end
class PostsController < ApplicationController
def index
if params[:query].blank?
@posts = Post.find(:all)
else
@posts = Post.find_for_query(params[:query])
end
end
end
68. ActionController::Routing::Routes.draw do |map|
map.namespace :admin do |admin|
admin.resources :invitations
admin.resources :emails
admin.resources :users
admin.resources :features
end
end
76. ActionController::Routing::Routes.draw do |map|
map.resource :record_list
map.resources :records
end
class RecordListsController < ApplicationController
def show; end
# ...
end
class RecordsController < ApplicationController
def show; end
# ...
end
Separated