`
阅读更多

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

rails的lifecycle:
test3.jpg

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

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是更好的方法

分享到:
评论

相关推荐

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    rails 多图上传.txt

    在实现Rails应用中的多图上传功能时,通常需要借助于特定的插件或Gem来简化开发流程并增强功能。以下两个工具是必不可少的: 1. **Paperclip(Gem)** - **用途**:用于后台文件处理,是一款非常强大的工具,支持...

    Rails 3 in Action

    - **Asset Pipeline**:Rails 3.1引入了Asset Pipeline,将CSS、JavaScript、图片等静态资源管理整合到一个统一的流程中,提高了页面加载速度。 - **CoffeeScript**:默认使用CoffeeScript作为JavaScript的预...

    RailsSpace

    ### RailsSpace:构建社交网络网站 #### 一、引言 RailsSpace是一本专注于通过实践项目教授Ruby on Rails开发的书籍。本书通过构建一个面向Ruby社区的社交网络平台——RailsSpace,来帮助读者掌握Ruby on Rails的...

    ruby on rails最新版

    使用Ruby on Rails最新版进行开发,开发者不仅可以享受到高效的开发流程,还能通过强大的社区支持和丰富的第三方库(如Gem)扩展其功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave...

    使用Rails上传和转换视频

    以上就是使用Rails上传和转换视频的基本流程。在开发过程中,确保遵循最佳实践,如安全存储文件、优化性能、以及考虑跨平台兼容性。通过不断学习和实践,你可以构建出高效且功能丰富的视频处理系统。

    Rails入门教程一(翻译).pdf

    本教程是针对初学者设计的,旨在帮助他们快速掌握Rails的核心概念和开发流程。 首先,Rails的核心原则是DRY(Don't Repeat Yourself)和Convention Over Configuration(约定优于配置)。DRY原则强调避免代码重复,...

    Ruby on Rails安装包全集(Linux)

    Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...

    Ruby on Rails 指南 v5.0.1 中文版

    - **概览:各组件之间如何协作**:描述Rails中视图、控制器和其他组件之间的协作方式。 - **创建响应**:说明如何生成最终的HTTP响应。 - **布局的结构**:介绍布局文件的基本结构和使用方法。 #### 表单辅助方法 ...

    weixin_rails_middleware, 微信集成 ruby weixin_rails_middleware for integration weixin..zip

    `weixin_rails_middleware` 是基于 Ruby 的 Rack 技术构建的,它能够插入到 Rails 应用的请求处理流程中。当收到微信服务器发来的请求时,中间件会自动处理这些请求,如验证签名、解析XML数据,并提供相应的响应。 ...

    从 Assets Pipeline 到 Webpack,Rails 6 的新前端方案们 - 过纯中1

    对于Rails项目,Webpacker gem被引入,以集成Webpack到Rails的开发流程中。Webpacker允许开发者使用Yarn管理前端包,并在Rails环境中运行Webpack。这样,开发者就可以利用Webpack的强大功能,如Tree Shaking(消除未...

    ruby on rails 实例depot

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率,简化Web应用开发流程。Depot是一个经典的Rails教程示例项目,它展示了如何...

    Rbuy for Rails源代码

    3. **Rails开发流程**:从创建新项目开始,包括初始化、添加gem、编写模型、控制器和视图,再到数据库迁移和测试。 4. **数据库集成**:了解ActiveRecord的工作方式,如何创建和执行数据库迁移,以及定义模型关联。...

    Ruby-Webpacker使用Webpack在Rails中管理类似app的JavaScript模块

    总结来说,Webpacker是Rails 5.1及以上版本的一个重要组成部分,它将Webpack集成到Rails开发流程中,使得开发者能够充分利用Webpack的先进功能,提升前端开发的灵活性和效率。通过合理配置和使用Webpacker,开发者...

    Ruby Rails

    总的来说,Ruby on Rails是一个强大且灵活的Web开发框架,它鼓励简洁、可读的代码和高效的开发流程。通过理解Rails的MVC架构、ActiveRecord、路由、控制器、视图以及如何利用插件和测试工具,开发者可以构建出高效、...

Global site tag (gtag.js) - Google Analytics