`
Nanigac
  • 浏览: 13693 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ROR 之 用户注册实例(一)

阅读更多
本节实做用户注册的例子RegisterDemo,记录ROR开发的一般流程。

DB Prepare

※ROR系列所有实例都将使用Mysql,安装 和测试参考 ROR 之 环境准备篇

参考以下图示代码:
C:\Documents and Settings\Nanigac> mysql -u root
mysql> create database rails;
mysql> grant all privileges on rails.* to ror@localhost identified by 'ror123';
mysql> flush privileges;
mysql> Aborted
  命令行下创建数据库rails以及用户ror(密码ror123),赋予ror用户在rails数据库上的所有权限。

创建database.yml,内容如下图示(注意键值对冒号后面的空格):
development:
  adapter: mysql
  encoding: utf8
  database: rails
  pool: 5
  username: ror
  password: ror123
  host: localhost
  ROR系列所有实例, 创建WebAPP后 , 用database.yml 覆盖 WebAPP\config\database.yml (DB配置文件)

Create RegisterDemo

命令行下切换到rorworks目录,敲入rails --database mysql RegisterDemo,命令行回显 :
      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  script/process
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/performance
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  Rakefile
      create  README
      create  app/controllers/application.rb
      create  app/helpers/application_helper.rb
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/environment.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/console
      create  script/dbconsole
      create  script/destroy
      create  script/generate
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  script/performance/request
      create  script/process/reaper
      create  script/process/spawner
      create  script/process/inspector
      create  script/runner
      create  script/server
      create  script/plugin
      create  public/dispatch.rb
      create  public/dispatch.cgi
      create  public/dispatch.fcgi
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
  RegisterDemo创建成功,使用 DB Prepare 阶段创建的 database.yml覆盖掉新生成的config/database.yml。

下面测试数据库连接和ror开发环境 :

方法1:
在命令行下敲入ruby RegisterDemo/script/server webrick -p 80 显式启动webrick,回显:
=> Booting WEBrick...
=> Rails 2.2.2 application started on http://0.0.0.0:80
=> Ctrl-C to shutdown server; call with --help for options
[2009-02-22 19:21:31] INFO  WEBrick 1.3.1
[2009-02-22 19:21:31] INFO  ruby 1.8.6 (2008-08-11) [i386-mswin32]
[2009-02-22 19:21:31] INFO  WEBrick::HTTPServer#start: pid=3468 port=80
  启动IE,输入http://localhost/,点击页面About your application’s environment链接,可以看到当前ror环境如下图:
注意此时Database schema version是0,当前rails数据库没有任何migration
方法2:
命令行下切换到RegisterDemo目录,敲入rake db:migrate,回显如下图示:
(in C:/rorworks/RegisterDemo)
 如果DB连接配置上有问题,将直接回显错误信息。

以上方法1或者方法2无错误输出表示ror环境和数据库准备就绪。

方法1和方法2有什么区别?方法2在C:\rorworks\RegisterDemo\db\下新建schema.rb,并create table "schema_migrations" ("version" varchar(255) NOT NULL)

接下来,开始数据库,以及页面的设计和编码 。

从最简单 RegisterDemo开始,设计两个页面(Login,Register),一个数据表User(三个字段uName,uPwd,uMail)。
命令行下切换到RegisterDemo目录,敲入命令ruby script/generate scaffold user uname:string upwd:string umail:string 如下图示:
C:\rorworks\RegisterDemo>ruby script/generate scaffold user uname:string upwd:string umail:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/users
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  public/stylesheets/
      create  app/views/users/index.html.erb
      create  app/views/users/show.html.erb
      create  app/views/users/new.html.erb
      create  app/views/users/edit.html.erb
      create  app/views/layouts/users.html.erb
      create  public/stylesheets/scaffold.css
      create  app/controllers/users_controller.rb
      create  test/functional/users_controller_test.rb
      create  app/helpers/users_helper.rb
       route  map.resources :users
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
      create    app/models/user.rb
      create    test/unit/user_test.rb
      create    test/fixtures/users.yml
      create    db/migrate
      create    db/migrate/20090223151258_create_users.rb
  命令行下接着敲入rake db:migrate,回显图示,表users创建成功!
C:\rorworks\RegisterDemo>rake db:migrate
(in C:/rorworks/RegisterDemo)
==  CreateUsers: migrating ====================================================
-- create_table(:users)
   -> 0.0620s
==  CreateUsers: migrated (0.0620s) ===========================================
 
此时 我们来看一下ROR完成了什么:

 切换到命令行,可以看到users表被创建,desc users可以查看表结构。
mysql> use rails
Database changed
mysql> show tables;
+-------------------+
| Tables_in_rails   |
+-------------------+
| schema_migrations |
| users             |
+-------------------+
2 rows in set (0.00 sec)
命令行敲入ruby script/server webrick -p 80启动webrick。
C:\rorworks\RegisterDemo>ruby script/server webrick -p 80
=> Booting WEBrick...
=> Rails 2.2.2 application started on http://0.0.0.0:80
=> Ctrl-C to shutdown server; call with --help for options
[2009-03-04 19:53:26] INFO  WEBrick 1.3.1
[2009-03-04 19:53:26] INFO  ruby 1.8.6 (2008-08-11) [i386-mswin32]
[2009-03-04 19:53:26] INFO  WEBrick::HTTPServer#start: pid=1652 port=80
 浏览http://localhost/users/看到可以Listing users(0条记录)和New user的链接,并且在 New user页面可以 Create user 成功。


※原创版权所有,转载请Mail:Nanigac.Yin#Gmail.COM。

  • 大小: 28.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics