读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是更好的方法
分享到:
相关推荐
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
在实现Rails应用中的多图上传功能时,通常需要借助于特定的插件或Gem来简化开发流程并增强功能。以下两个工具是必不可少的: 1. **Paperclip(Gem)** - **用途**:用于后台文件处理,是一款非常强大的工具,支持...
- **Asset Pipeline**:Rails 3.1引入了Asset Pipeline,将CSS、JavaScript、图片等静态资源管理整合到一个统一的流程中,提高了页面加载速度。 - **CoffeeScript**:默认使用CoffeeScript作为JavaScript的预...
### RailsSpace:构建社交网络网站 #### 一、引言 RailsSpace是一本专注于通过实践项目教授Ruby on Rails开发的书籍。本书通过构建一个面向Ruby社区的社交网络平台——RailsSpace,来帮助读者掌握Ruby on Rails的...
使用Ruby on Rails最新版进行开发,开发者不仅可以享受到高效的开发流程,还能通过强大的社区支持和丰富的第三方库(如Gem)扩展其功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave...
以上就是使用Rails上传和转换视频的基本流程。在开发过程中,确保遵循最佳实践,如安全存储文件、优化性能、以及考虑跨平台兼容性。通过不断学习和实践,你可以构建出高效且功能丰富的视频处理系统。
本教程是针对初学者设计的,旨在帮助他们快速掌握Rails的核心概念和开发流程。 首先,Rails的核心原则是DRY(Don't Repeat Yourself)和Convention Over Configuration(约定优于配置)。DRY原则强调避免代码重复,...
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
- **概览:各组件之间如何协作**:描述Rails中视图、控制器和其他组件之间的协作方式。 - **创建响应**:说明如何生成最终的HTTP响应。 - **布局的结构**:介绍布局文件的基本结构和使用方法。 #### 表单辅助方法 ...
`weixin_rails_middleware` 是基于 Ruby 的 Rack 技术构建的,它能够插入到 Rails 应用的请求处理流程中。当收到微信服务器发来的请求时,中间件会自动处理这些请求,如验证签名、解析XML数据,并提供相应的响应。 ...
对于Rails项目,Webpacker gem被引入,以集成Webpack到Rails的开发流程中。Webpacker允许开发者使用Yarn管理前端包,并在Rails环境中运行Webpack。这样,开发者就可以利用Webpack的强大功能,如Tree Shaking(消除未...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率,简化Web应用开发流程。Depot是一个经典的Rails教程示例项目,它展示了如何...
3. **Rails开发流程**:从创建新项目开始,包括初始化、添加gem、编写模型、控制器和视图,再到数据库迁移和测试。 4. **数据库集成**:了解ActiveRecord的工作方式,如何创建和执行数据库迁移,以及定义模型关联。...
总结来说,Webpacker是Rails 5.1及以上版本的一个重要组成部分,它将Webpack集成到Rails开发流程中,使得开发者能够充分利用Webpack的先进功能,提升前端开发的灵活性和效率。通过合理配置和使用Webpacker,开发者...
总的来说,Ruby on Rails是一个强大且灵活的Web开发框架,它鼓励简洁、可读的代码和高效的开发流程。通过理解Rails的MVC架构、ActiveRecord、路由、控制器、视图以及如何利用插件和测试工具,开发者可以构建出高效、...