rails流程图

读R4R,才读完第2章,前两章没什么新内容,算是复习吧

rails的lifecycle:

从浏览器发起一个请求的基本流程:

A.server to dispatcher

服务器通过你指定的路径查找dispatcher,比如,你在apache配置:

<VirtualHost www.r4rmusic.com>
ServerName www.r4rmusic.com
ServerAlias r4rmusic.com
DocumentRoot "/usr/local/share/railsapps/r4rmusic/public/"
</VirtualHost>

服务器将在"/usr/local/share/railsapps/r4rmusic/public/下查找分发器,在rails应用下面有这么几个文件就是:dispatch.cgi dispatch.fcgi dispatch.rb

这几个文件中的某个将被调用

B.dispatcher to controller

分发器将解析发起请求的URL,按照:

1.controller的名称

2.action名称

3.请求id值

来寻找相应的controller的action,并执行.当然,你可以通过编辑config下面的routes.rb来定义自己的路由规则

C.performance of a controller action

当相应的controller以及相应的action被找到并且执行,他们将可以访问:

1.CGI数据,form提交的数据

2.controller的session信息,内建的session方法

本质上rails是把业务逻辑放在controller的action里面,也就是没有我们在J2EE中所谓的业务逻辑层.当业务逻辑或者说action较多时,你的controller文件不可避免的变的很长...在维护性和可读性也许会带来问题,当然,细分controller是更好的方法

文章转自庄周梦蝶  ,原文发布时间5.17

时间: 2024-07-31 11:49:55

rails流程图的相关文章

Ruby on Rails中MVC结构的数据传递解析_ruby专题

如果读者已经开发过基于 Rails 的应用,但对其 MVC 间的数据传递还有诸多困惑,那么恭喜您,本文正是要总结梳理 Rails 数据传递的方法和技巧.Ruby on Rails 3(以下统称为 Rails 3)是当前的主要发布版本,本文所述及的内容和代码都基于此版本.Rails 3 简介 Ruby on Rails 是一个 Ruby 实现.采用 MVC 模式的开源 Web 应用开发框架,能够提供 Web 应用的全套解决方案.它的"习惯约定优于配置"的设计哲理,使得 Web 开发人员能

asp.net-程序流程图什么样子?跟业务流程图有什么区别?

问题描述 程序流程图什么样子?跟业务流程图有什么区别? 在网上查了一下,好多没用的,还有很低级的程序流程图,什么if while循环过程的程序流程图,不是我要的那种.蒙圈- 解决方案 业务流程图是大流程,程序流程图是某个业务具体的实现方式~我是这么理解的 解决方案二: 写流程图是为了更加理解代码实现的逻辑,程序流程图应该就是比如新增:从出现列表页到保存成功整个里面的操作都写下来.比如:列表页--新增按钮---新增页面---新增校验---校验完成--提示保存成功---校验失败---提示保存失败 解

通过Ruby on Rails和docker构建微服务架构之入门教程

说到时下的架构,免不了会涉及到微服务.而谈到微服务架构,又跟容器和Docker技术脱不了关系.虽然容器和Docker并不完全是一回事,但两者是密不可分的,而且二者之间也有共同之处:在大型复杂应用的构建和运营方面,二者都可以大大提高企业的效率.   微服务可不像一般的应用,可以通过apt-get工具进行安装,大家可能会问了:我们该如何才能像安装应用一样实现这种服务呢?在很大的程度上,这个问题的答案是否定的,我们无法轻松实现这种服务.更准确的说,至少目前我们还无法实现.在一个系统中,最难修改的就是架

rails中validates_confirmation_of验证方法无效的解决办法

    rails的model中提供了很多种自带的验证方法,validates_confirmation_of可以验证变量xxx和xxx_confirmation是否相等:这可以用于验证2遍输入的密码是否一致的情况.但是实际使用中发现上述验证方法貌似没有进行验证:在确认了变量:password和:password_confirmation名称确实没错的情况下,研究了半天,发现还要做一步操作,就是要在controller的user_params的许可中加入:password_confirmatio

Rails系统中的AJAX开发技术简析(2)

ajax|rails 五. 使用link_to_remote Rails有若干帮助者方法以在你的视图的模板中实现Ajax.一种最简单且很通用的方法就是link_to_remote().让我们考察一个简单的web页面-它实现询问时间并且有一个链接,用户可以点击这个链接来获得当前的时间.该应用程序经由link_to_remote()使用Ajax以检索时间并且显示它于web页面. 我的视图模板(index.rhtml)看起来象: <html><head><title>Ajax

Rails系统中的AJAX开发技术简析

ajax|rails 一. Ajax的简短历史 在短短几个月内,Ajax从一种十分模糊稀罕的技术一下变成最热门的东西.本文将介绍极其容易使用的Ajax支持-作为Ruby on Rails web应用程序框架的一部分实现. 本文不是一个详细的教程,所以我假定你已经了解一点关于如何组织和构建一个Rails web应用程序的知识. 最开始出现的是万维网.比较于桌面应用程序,web应用程序相当缓慢和沉闷.无论如何,人们都喜欢上了web应用程序,因为他们无论在什么地方都能上网,只要身边的计算机上安装一个浏

Rails系统中的AJAX开发技术简析(3)

ajax|rails 六. 使用form_remote_tag 这个form_remote_tag()帮助函数与link_to_remote()很相似,除了它也发送一个HTML表单的内容之外.这意味着该行动处理器可以使用用户输入的数据来形成响应.这个实例显示了一个web页面-它有一个列表和一个支持Ajax的表单-该表单能够让用户添加一些选项到该列表中. 我的视图模板(index.rhtml)看上去象: <html><head><title>Ajax List Demo&

Rails系统中的AJAX开发技术简析(4)

ajax|rails 七. 使用观察器 Rails能够让你监视一个字段的值,并且在无论何时字段值发生变化时,都作一次到一个行动处理器的Ajax调用.当前被观察字段的值被发送到本次调用相关的寄送数据的行动处理器中. 最常用的一种情况是实现一个实况查找: <label for="searchtext">Live Search:</label><%= text_field_tag :searchtext %><%= observe_field(:se

Rails系统中的AJAX开发技术简析(1)

ajax|rails 一. Ajax的简短历史 在短短几个月内,Ajax从一种十分模糊稀罕的技术一下变成最热门的东西.本文将介绍极其容易使用的Ajax支持-作为Ruby on Rails web应用程序框架的一部分实现.本文不是一个详细的教程,所以我假定你已经了解一点关于如何组织和构建一个Rails web应用程序的知识. 最开始出现的是万维网.比较于桌面应用程序,web应用程序相当缓慢和沉闷.无论如何,人们都喜欢上了web应用程序,因为他们无论在什么地方都能上网,只要身边的计算机上安装一个浏览