Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'web'
- urls = {
- '/', 'index',
- '/users', 'users',
- '/user/(\d+)', 'user',
- '/users/new', 'new_user',
- '/user/(\d+)/edit', 'edit_user'
- }
- class Index
- def get
- Web.template "index"
- end
- end
- class Users
- def get
- @users = User.find(:all)
- Web.template "users/index", @users
- end
- def post
- @user = User.new(params[:user])
- if @user.save
- Web.redirect "/user/#{@user.id}"
- else
- Web.redirect "/users/new", :internal => true, :message => "FAIL"
- end
- end
- end
- class User < ActiveRecord::Base
- belongs_to :foo
- validates_presence_of :bar
- def get(id)
- @user = class.find(id)
- Web.template "user", @user
- end
- def put(id)
- @user = class.find(id)
- @user.update_attributes(params[:user])
- if @user.save
- Web.redirect "/user/#{@user.id}", :message => "UPDATED"
- else
- Web.redirect "/user/#{@user.id}/edit", :message => "FAIL", :internal => true
- end
- end
- def delete(id)
- super
- Web.redirect "/users"
- end
- end
- class NewUser
- def get
- @user = User.new
- Web.template "users/new", @user
- end
- end
- class EditUser
- def get(id)
- @user = User.find(id)
- Web.template "users/edit", @user
- end
- end
- Web.start(urls, :port => 8765)
Add Comment
Please, Sign In to add comment