您的位置:首页 > 编程语言 > Ruby

Ruby on rails开发从头来(windows)(十五)-添加用户

2007-09-26 12:03 645 查看
从这篇开始,我们来实现一组用户管理的功能,首先是添加用户。

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,但是我们到数据库里,已经可以看到用户添加进去了,并且密码已经进行了加密,如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐