`
Nanigac
  • 浏览: 14015 次
  • 性别: 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
分享到:
评论

相关推荐

    ror实例

    "ror实例"可能指的是在学习或实践中,通过创建一个具体的Rails应用程序来理解和掌握RoR的工作原理和最佳实践。 在Ruby on Rails中,重要知识点包括: 1. **Gemfile与Gemfile.lock**:项目中的Gemfile用于指定项目...

    selenium for RoR 实例

    自动化测试selenium实例,在ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32],Rails 1.2.2环境下测试通过. 工程可直接运行,相关的测试代码在工作目录\public\selenium\tests下

    RoR性能优化经验谈

    RoR(Ruby on Rails)是...每个环节的优化都能显著提升网站的运行效率,使RoR应用能够更好地应对高负载和大规模用户的需求。通过学习和实践这些经验,开发者可以更好地应对RoR性能挑战,创建出更健壮、高效的Web应用。

    ror中文资料

    Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”,提供了一套完整的工具链,使得开发者...

    初探ROR

    **四、ROR的实例应用** 许多知名网站如GitHub、Airbnb、Shopify等都基于Ruby on Rails构建,证明了其在高性能和可扩展性方面的优秀表现。 总结来说,Ruby on Rails提供了一种高效且优雅的Web开发方式,通过强大的...

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    ROR安装必备所有架包

    首先,`actionpack`是Rails的核心组件之一,它提供了控制器、路由和视图等功能。`actionpack-1.13.5.gem`是ActionPack的一个特定版本,包含了处理HTTP请求、执行控制器动作以及渲染视图所需的所有类和模块。它还负责...

    神经网络ror resenet模型

    而“Ror”(Residual-of-Residual)则是对ResNet的一种扩展,进一步优化了网络的性能,尤其在图像分类任务上表现突出。 **ResNet模型核心思想** ResNet的核心是引入了“残差块”(Residual Block),通过引入一个...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    我的ror的第一天

    标题 "我的ror的第一天" 暗示了这是一个关于Ruby on Rails(简称RoR)的初学者经验分享,RoR是基于Ruby语言的开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程更加高效。 在描述中提到的...

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    freemis 基于ror框架的mis

    总结,FreeMIS是一个运用了Ruby on Rails强大特性的管理信息系统实例,它体现了敏捷开发的理念,为开发者提供了快速构建企业级应用的平台。无论你是初学者还是经验丰富的开发者,都可以从中学习到关于Web应用开发的...

    ROR 文件的上传与下载

    在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails应用中实现文件的上传与下载功能,包括数据库...

    Windows 上搭建 ROR环境

    随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows环境下搭建Rails开发环境却让不少初学者感到头疼。本文将详细介绍...

    机遇ROR 的图书管理系统

    《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...

    RoR 培训课程PPT

    - **书籍推荐**:《Agile Web Development with Rails》是一本经典的RoR教程,适合进一步深入了解RoR的开发实践。 - **在线社区**:参与Ruby on Rails官方论坛或Stack Overflow等社区,获取最新的技术资讯和解答开发...

Global site tag (gtag.js) - Google Analytics