# 手動 SQL 或 migration
create table users (
id int not null auto_increment,
name varchar(100) not null,
hashed_password char(40) null,
primary key (id)
);
ruby script/generate model User
ruby script/generate controller Login add_user login logout delete_user list_users
產生檔案:
app/models/user.rbapp/controllers/login_controller.rbapp/views/login/add_user.rhtml, login.rhtml, logout.rhtml, delete_user.rhtml, list_users.rhtmltest/unit/user_test.rb, test/functional/login_controller_test.rb<% @page_title = "Add a User" -%>
<%= error_messages_for 'user' %>
<%= form_tag %>
User name: <%= text_field("user", "name") %>
Password: <%= password_field("user", "password") %>
<%= end_form_tag %>
error_messages_for 自動顯示模型驗證錯誤。
包含 attr_accessor :password、before_create 雜湊、validates_uniqueness_of :name 等。
/login/add_user 顯示表單create),但資料庫已新增記錄,密碼為 SHA1 雜湊值create 動作處理表單送出、驗證、重導delete_user 刪除用戶(含保護機制)list_users 顯示用戶清單