Rubyonrails开发从头来(windows)(十五)-添加用户

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

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] aforcing 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 endprivate def self.hash_password(password)  Digest::SHA1.hexdigest(password) endend

在这里,我们看到使用了SHA1算法来加密password。

OK,现在来看看效果,如图:

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

每当我看天的时候我就不喜欢再说话,每当我说话的时候我却敢看天。

Rubyonrails开发从头来(windows)(十五)-添加用户

相关文章:

你感兴趣的文章:

标签云: