`
iseesea
  • 浏览: 46254 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Ruby on Rails Tutorial (Michael Hartl)中文翻译第二章 演示程序 (2)

阅读更多
(接前面)
引用

Box 2.1 Rake
在Unix系统上,make工具在执行源代码上有着非常重要的作用,非常多的电脑黑客常输下面的代码,都记忆到肌肉中了。。。(可以这样翻译吧。。。muscle memory)
$ ./configure && make && sudo make install
通常这个使用与在unix(包括linux和Mac OS X)底下编译源码;

rake可以说是ruby的make工具,他是用ruby写的类似make的语言或者说是工具;rake在rails里的运用非常广泛,特别是在开发有数据库支持的web程序中用于大量小任务的管理;
rake db:migrate命令可能是最经常使用到的,但是这只是其中之一,你可以运行
$ rake —T db
的命令来查看rake命令中关于数据库的小任务;
命令
$ rake —T
可以查看所有可用的任务;
出现的列表可能让人觉得恶心,但是不要担心,现在你不必要知道列表中所有项(或者大部分)的意思,学完本书后,你会知道里面所有重要的任务项;

2.2.1 用户模块开发
打开项目的根目录,http://localhost:3000/ 将会如图1.3(第一章的图。我挪过来了)所示的显示rails默认的根目录,


                         图1.3

在生成User的资源的时候,我们也创建了很多的页面,用于操作这个用户;
例如,用于列出所有用户的 “/users”页面,用于创建新用户的“/users/new”页面等,
本节剩下的部分会用来快速的访问并解说这些页面,随着我们的进行,我们可以把页面和URL的关系列在下表中,
URL Action Purpose
/users index page to list all users
/users/1 show page to show user with id
/users/new new     page to make a new user
/users/1/edit edit    page to edit user with id

Table 2.1: 用户资源和URL之间的关系对照
我们从列出所有用户的index 页面开始吧,和你想的一样,一开始是什么都没有,如图2.4所示,

图 2.4: 初始状态下的index页面(/users).
我们通过"users/new"页面来创建新的用户,如图2.5所示

图 2.5: 创建用户页面 (/users/new).

我们可以在页面中输入用户name和email的值,然后点击Create按钮。
成功之后呢会跳向show页面,如图2.6所示,(绿色的欢迎信息是成功创建后flash的信息,我们将在8.3.3中学习它)

图2.6,显示一个用户信息的页面(/users/1)
注意此时的URL是 “/users/1”,你可能想到,那个1个就是代表图2.2中用户的id属性。
在7.3节中,这个页面就会变成用户的详细信息页。
我们通过访问edit页面来修改用户信息,如图2.7所示,我们修改信息后点击更新按钮。在演示程序中,我们可以修改用户信息,我们将在第六章中详细的介绍,这些用户的信息是被存储在数据库中的。我们将会把添加编辑用户的功能加入第10.1节的示范程序中。


                   图2.7 用户编辑页面(/users/1/edit).

                   图2.8 用户更新成功页面.
现在我们可以通过new页面填入和提交信息再创建一个用户;所以,在index页面中就会如下图2.9所示。在第10.3节中巍峨哦门将开发一个更精致index页面来列出所有用户。


图2.9 加入了第二个用户的index页面(/users).
在演示了如何创建,显示,修改单个用户之后,我们将要看看如何删掉他们。你必须验证下图中用于删除第二个用户的链接是正确的。如果它不能使用,首先应该保证你的浏览有把javascript打开,Rails用JavaScript来发送删除用户的请求的。
我们将会把添加删除用户的功能加入到第10.4节的示例程序。在一个管理用户的类中小心的使用它。

图2.30 删除一个用户
2.2.2 上节操作的MVC应用
现在我们基本完成了用户资源,让我们用一个过程来讲述第1.2.6中提到的MVC模式,这个模式可以只是浏览器上普通的一次点击。例如访问user的index页面“/users”;

                  图2.11,Rails中MVC的详细图解
上表中个步骤对应:
  1. The browser issues a request for the /users URL.
  2. 浏览器发送请求/users
  3. Rails routes /users to the index action in the Users controller.
  4. Rails的路由组建分析它为对应users 控制器,index 的方法。
  5. The index action asks the User model to retrieve all users (User.all).
  6. index通过User.all方法请求用户模型查找所有的用户。
  7. The User model pulls all the users from the database.
  8. User模型从数据库提取出所有需要的用户。
  9. The User model returns the list of users to the controller.
  10. User模型返回用户列表给控制器。
  11. The controller captures the users in the @users variable, which is passed to the index view.
  12. 控制器将这些用户注入@users的类变量中。该变量将会被传到视图中使用。
  13. The view uses Embedded Ruby to render the page as HTML.
  14. 视图利用内嵌的ruby代码来产生HTML文件;
  15. The controller passes the HTML back to the browser.7
  16. 控制器将HTML传回浏览器

We start with a request issued from the browser—i.e., the result of typing a URL in the address bar or clicking on a link (Step 1 in Figure 2.11). This request hits the Rails router (Step 2), which dispatches to the proper controller action based on the URL (and, as we’ll see in Box 3.1, the type of request). The code to create the mapping of user URLs to controller actions for the Users resource appears in Listing 2.2;8 this code effectively sets up the table of URL/action pairs seen in Table 2.1.
============================华丽的分割线,翻译的不好别见怪~关键时刻才知道自己的表达能力有点欠缺~~加油===========================

  • 大小: 184.2 KB
  • 大小: 88.6 KB
  • 大小: 184.2 KB
  • 大小: 180.6 KB
  • 大小: 187.9 KB
  • 大小: 180.7 KB
  • 大小: 194 KB
  • 大小: 198.9 KB
  • 大小: 49.9 KB
分享到:
评论

相关推荐

    [Michael Hartl] Ruby on Rails Tutorial

    “The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working software engineer who introduces best practices throughout the text.” —Greg ...

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    Ruby on Rails教程:学习使用Rails进行Web开发Ruby on Rails Tutorial: Learn Web Development with Rails

    本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。

    Ruby on Rails Tutorial 原版

    【Ruby on Rails Tutorial 原版】是由Michael Hartl创作的,特别适合初学者的一份指导教程。这个教程全面介绍了Ruby on Rails(简称RoR),它是一个由David Heinemeier Hansson用Ruby语言开发的高效Web应用框架。RoR...

    Ruby on Rails 3 Tutorial

    - **《Ruby on Rails 3 教程》**:由Michael Hartl编写的一本经典教材,被广泛认为是学习Rails的最佳资源之一。 - **教学方法**: - **示例驱动**:通过具体的项目示例来讲解Rails的各种功能。 - **循序渐进**:从...

    Ruby on Rails Tutorial - Learn Web Development with Rails 3rd

    本书《Ruby on Rails 教程 —— 使用 Rails 学习 Web 开发》第三版是由 Michael Hartl 编写的一本全面介绍 Ruby on Rails 的教程。该书面向希望学习如何使用 Ruby on Rails 进行 Web 应用开发的初学者和中级开发者。...

    Ruby on Rails 3.2 Tutorial

    《Ruby on Rails 3.2 Tutorial》是Michael Hartl撰写的一本经典教程,旨在通过实践教学的方式帮助初学者掌握Rails框架。Rails是一个基于Ruby语言的开源Web应用框架,遵循MVC(模型-视图-控制器)架构模式,以其DRY...

    Ruby on Rails Tutorial Learn Rails by Example 的源代码

    《Ruby on Rails Tutorial: Learn Rails by Example》是Rails学习者们常常参考的一本书,由Michael Hartl撰写。这本书通过实际的示例项目“sample_app”引导读者深入理解Rails框架的各个方面。现在,我们来详细探讨...

    ruby on rails tutorial.pdf

    creat by Michael Hartl,good for new programmer,a nice guide

    RailsTutorial:迈克尔·哈特(Michael Hartl)的《 Ruby on Rails教程》

    该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) 部署说明 … 如果...

    sample-app:这是Ruby on Rails的示例应用程序教程:通过Michael Hartl学习Rails的Web开发

    Ruby on Rails教程样本应用程序这是的示例应用程序 进行 。执照中的所有源代码都可以根据MIT许可和Beerware许可共同获得。 有关详细信息,请参见 。入门要开始使用该应用程序,请克隆存储库,然后安装所需的gem: $ ...

    Ruby tutorial教程

    《Ruby教程:通过实例学习Rails》是Michael Hartl所著的一本权威教程,该书以其详尽的内容和实践导向的方法,成为了Ruby on Rails开发者入门和进阶的必读材料。以下是从标题、描述、标签以及部分内容中提炼出的关键...

    sample_app:来自Michael Hartl的railstutorial.org的演示,Rails 5

    Ruby on Rails教程样本应用程序 这是的示例应用程序 。 执照 中的所有源代码都可以根据MIT许可和Beerware许可共同获得。 有关详细信息,请参见 。 入门 要开始使用该应用程序,请克隆存储库,然后安装所需的gem: ...

    ruby资源推荐.docx

    - **简介**:这是一套非常受欢迎的在线视频教程,由Michael Hartl主讲,详细介绍了如何使用Ruby on Rails框架来构建Web应用程序。 - **适合人群**:适合希望从零开始学习Ruby on Rails的初学者。 2. **“Ruby ...

Global site tag (gtag.js) - Google Analytics