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

相关推荐

Global site tag (gtag.js) - Google Analytics