快速业务通道

Ruby on rails开发从头来(windows)(十五)-添加用户 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

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

时间:2011-12-02 博客园 Cure

从这篇开始,我们来实现一组用户管理的功能,首先是添加用户。

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,如图:

Ruby on rails开发从头来(windows)(十五)-添加用户 - 编程入门网

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

时间:2011-12-02 博客园 Cure

然后再使用命令行生成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

如图:

Ruby on rails开发从头来(windows)(十五)-添加用户 - 编程入门网

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 %>

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

时间:2011-12-02 博客园 Cure

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,现在来看看效果,如图:

Ruby on rails开发从头来(windows)(十五)-添加用户 - 编程入门网

这时候,我们输入用户名和密码,点击“ADD USER”按钮,会提示没有对应的Action,但是我们到数据库里,已经可以看到用户添加进去了,并且密码已经进行了加密,如图:

Ruby on rails开发从头来(windows)(十五)-添加用户 - 编程入门网

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号