Ruby on rails开发从头来(windows)(十五)-添加用户
2011-08-08 14:48
477 查看
从这篇开始,我们来实现一组用户管理的功能,首先是添加用户。
1. 首先,我们要创建一个表保存用户信息,并且生成一个对应的model。
创建表的脚本,在phpAdmin里执行就可以了:
create table users (
id int not null auto_increment,
name varchar(100) not null,
hashed_password char(40) null,
primary key (id)
)
然后在命令行生成User的model,如图:
然后再使用命令行生成controller和view:
Z:\study\ruby\InstantRails\rails_apps\depot>ruby script/generate controller Login add_user login logout delete_user list_users
exists app/controllers/
exists app/helpers/
exists app/views/login
exists test/functional/
overwrite app/controllers/login_controller.rb? [Ynaqd] a
forcing controller
force app/controllers/login_controller.rb
identical test/functional/login_controller_test.rb
identical app/helpers/login_helper.rb
identical app/views/login/add_user.rhtml
force app/views/login/login.rhtml
identical app/views/login/logout.rhtml
identical app/views/login/delete_user.rhtml
identical app/views/login/list_users.rhtml
如图:
2. 下面修改Views\login目录下的add_user.rhtml文件的内容如下:
<% @page_title = "Add a User" -%>
<%= error_messages_for 'user' %>
<%= form_tag %>
<table>
<tr>
<td>User name:</td>
<td><%= text_field("user", "name") %></td>
</tr>
<tr>
<td>Password:</td>
<td><%= password_field("user", "password") %></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value=" ADD USER " /></td>
</tr>
</table>
<%= end_form_tag %>
3. 再修改model目录下的user.rb文件,内容如下:
require "digest/sha1"
class User < ActiveRecord::Base
attr_accessor :password
attr_accessible :name, :password
validates_uniqueness_of :name
validates_presence_of :name, :password
def before_create
self.hashed_password = User.hash_password(self.password)
end
def after_create
@password = nil
end
private
def self.hash_password(password)
Digest::SHA1.hexdigest(password)
end
end
在这里,我们看到使用了SHA1算法来加密password。
OK,现在来看看效果,如图:
这时候,我们输入用户名和密码,点击“ADD USER”按钮,会提示没有对应的Action,但是我们到数据库里,已经可以看到用户添加进去了,并且密码已经进行了加密,如图:
1. 首先,我们要创建一个表保存用户信息,并且生成一个对应的model。
创建表的脚本,在phpAdmin里执行就可以了:
create table users (
id int not null auto_increment,
name varchar(100) not null,
hashed_password char(40) null,
primary key (id)
)
然后在命令行生成User的model,如图:
然后再使用命令行生成controller和view:
Z:\study\ruby\InstantRails\rails_apps\depot>ruby script/generate controller Login add_user login logout delete_user list_users
exists app/controllers/
exists app/helpers/
exists app/views/login
exists test/functional/
overwrite app/controllers/login_controller.rb? [Ynaqd] a
forcing controller
force app/controllers/login_controller.rb
identical test/functional/login_controller_test.rb
identical app/helpers/login_helper.rb
identical app/views/login/add_user.rhtml
force app/views/login/login.rhtml
identical app/views/login/logout.rhtml
identical app/views/login/delete_user.rhtml
identical app/views/login/list_users.rhtml
如图:
2. 下面修改Views\login目录下的add_user.rhtml文件的内容如下:
<% @page_title = "Add a User" -%>
<%= error_messages_for 'user' %>
<%= form_tag %>
<table>
<tr>
<td>User name:</td>
<td><%= text_field("user", "name") %></td>
</tr>
<tr>
<td>Password:</td>
<td><%= password_field("user", "password") %></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value=" ADD USER " /></td>
</tr>
</table>
<%= end_form_tag %>
3. 再修改model目录下的user.rb文件,内容如下:
require "digest/sha1"
class User < ActiveRecord::Base
attr_accessor :password
attr_accessible :name, :password
validates_uniqueness_of :name
validates_presence_of :name, :password
def before_create
self.hashed_password = User.hash_password(self.password)
end
def after_create
@password = nil
end
private
def self.hash_password(password)
Digest::SHA1.hexdigest(password)
end
end
在这里,我们看到使用了SHA1算法来加密password。
OK,现在来看看效果,如图:
这时候,我们输入用户名和密码,点击“ADD USER”按钮,会提示没有对应的Action,但是我们到数据库里,已经可以看到用户添加进去了,并且密码已经进行了加密,如图:
相关文章推荐
- Ruby on rails开发从头来(windows)(十五)-添加用户
- Ruby on rails开发从头来(windows)(十五)-添加用户
- Ruby on rails开发从头来(windows)(九)-给购物车添加错误处理
- Ruby on rails开发从头来(windows)(九)-给购物车添加错误处理 (修正原版错误)
- Ruby on rails开发从头来(windows)(九)-给购物车添加错误处理
- Ruby on rails开发从头来(windows)(九)-给购物车添加错误处理
- Ruby on rails开发从头来(windows)(五)-对输入进行验证 (修正原版错误)
- Ruby on rails开发从头来(windows)(三十五)- 日志(Log)
- Ruby on rails开发从头来(windows)(二十二)-测试Controller
- Ruby on rails开发从头来(windows)(十二)-订单(Order)
- Ruby on rails开发从头来(windows)(十)-清空购物车和格式化金额
- Ruby on rails开发从头来(windows)(二十五)-测试Controller
- Ruby on rails开发从头来(windows)(七)-创建在线购物页面
- Ruby on rails开发从头来(windows)(二十七)- 测试驱动开发
- Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试
- Ruby on rails开发从头来(windows)(一)-使用InstantRails快速搭建Ruby On Rails开发环境
- Ruby on rails开发从头来(windows)(二十四)-测试Controller
- Ruby on rails开发从头来(windows)(八)-使用Session创建购物车
- Ruby on rails开发从头来(windows)(七)-创建在线购物页面
- Ruby on rails开发从头来(windows)(二十三)-功能测试的约定