ROR的AJAX心得
最近用ROR做了一个网站(http://www.bladearena.com),全部采用了AJAX来处理数据。在这个
过程中积累了一些心得,在这里总结一下。一方面可以与大家分享,另外也让自己不要那么快忘记了:)
首先还是要赞一下ROR,感觉使用起来入行云流水一般,一发不可收拾。在编码的时候经常一上去就觉得
这个怎么简单,那个怎么那样容易。自己的想法往往一出现,就可以马上实现。似乎在一夜之间编程变成了
一件简单而愉快的事情。呵呵,感觉虽然有点夸张,但实际上也差不多就是。
说了那么多,还是来说说具体的一些心得体会吧。
1.关于页面刷新
AJAX一个重要的用户体验就是页面不会刷新。所以在程序中如果要更新页面上的数据,就只能更新页面某一
部分,而要保持其它部分不动。要怎么实现呢?这就需要把页面分成很多的小块,具体到ROR上就是把页面分成
很多个.rhtml模板。根据我的经验,在一个功能中需要3样东西。一个ACTION,一个.rjs,一个.rhtml。
(1)ACTION用来处理逻辑,分析提取数据,然后把需要的数据作为类变量(例如:@user)公开出来。
(2).rjs用来处理页面表现方式。这里面一般用模板替换比较方便。
(例如:page[:user].replace_html :partial=>'ui/user')
(3).rhtml用来表现数据。把ACTION公开的数据用HTML方式表示出来。
(例如:用户:<!---->)
如上所述,在编程的时候就把很多小的功能通过以上方式一组一组的完成好,然后把它们全部一起镶嵌到
一个页面里,这样就可以很方便的实现了我们的整个系统。
2.关于数据传输的问题
大家都知道AJAX也是通过HTTP传输数据的,所以数据量的大小也直接决定了页面反应的快慢。因此,在设计
页面的时候就应该尽可能小的划分各个区块,这样在更新数据的时候,只把需要更新的区块更新,不需要的千万不要
多加。
3.div+css
这要提一下DIV+CSS,它的主要思想是把网页所要表现的内容和风格互相分离。这十分符合AJAX网页
的设计风格。把需要更新的模块分成不同的DIV,让后通过ID进行区分,这样就可以很方便的用我上面说的
方式来处理数据。
4.AJAX分页
虽然ROR提供了分页,但很明显的是它不是AJAX的使用用的。所以这里就需要自己来做个,就我使用的方法来说。
分成2个部分,数据的显示和分页按钮。
(1)数据显示就是一个.rhtml,在这里我设置了一个SESSION[:page]变量来存放页码,取数据的时候就通过
这个:page到数据库里面去取,然后把结果显示出来。这个模板很简单,就是一个MODEL的FIND,然后EACH出来就可以
了,其它根本不用管。
(2)分页按钮对应一个ACTION,这个ACTION的主要作用就处理:page变量,比如增加一页就加1,跳转到第5页
就直接设置成5.然后就是对应这个ACTION的.rjs。这个.rjs其实也就很简单了,就是我上面所说的替换一下数据显示
模板就可以了。这样数据显示模板就会根据新的:page去查询新页面的数据。
一个AJAX分页也就这样实现了。
(这篇文章由风北狼完成于2007-7-11)
分享到:
- 2007-07-12 19:17
- 浏览 3281
- 评论(4)
- 论坛回复 / 浏览 (4 / 5817)
- 查看更多
相关推荐
RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...
此外,标签中提到了其他Web开发技术,如AJAX(异步JavaScript和XML),它用于在不刷新整个页面的情况下更新部分内容,提升用户体验。ASP.NET、C#和J2EE/Java是RoR的主要竞争对手,它们各自有各自的优点和适用场景,...
NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696
**Ruby on Rails(简称RoR)中文资料** Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”...
**神经网络Ror ResNet模型详解** 在深度学习领域,ResNet(残差网络)模型是具有里程碑意义的创新,由He et al.在2015年提出。该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”...
在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...
Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...
**初探ROR** Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat ...
基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。
- **ECO和RoR集成**:除了AJAX之外,还可以将ECO和Ruby on Rails等其他技术集成到Delphi2007 for AJAX中,以构建更加丰富的Web解决方案。 - **示例演示**:通过实际的示例演示来展示如何使用这些技术来构建完整的Web...
### Windows上搭建Ruby on Rails(ROR)环境详解 #### 一、引言 随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows...
ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...
本文将详细介绍Ajax在Ruby on Rails(简称ROR或RoR)框架中的应用。 #### Ajax简介 Ajax是一种用于创建快速且动态网页的应用程序方法。它可以在不重新加载整个页面的情况下,通过后台加载数据,并更新部分页面内容...
### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...
FreeMIS是一个基于Ruby on Rails(RoR)框架构建的管理信息系统(MIS)。RoR是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它遵循“Don't Repeat Yourself”(DRY)原则,强调简洁和生产力。RoR使用...
《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...
在IT行业中,Ruby on Rails(简称ROR)是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发过程,提高开发效率。本文将深入探讨如何配置ROR开发环境,以及...
### RoR培训课程PPT知识点概述 #### 一、课程概览与背景介绍 - **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter ...
破解版本的JAR包,放到本地磁盘,ECLIPUS直接用,到JVM设置直接加 -noverify -javaagent:D:\javarebel.jar