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
- 浏览 3298
- 评论(4)
- 论坛回复 / 浏览 (4 / 5828)
- 查看更多
相关推荐
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”...
- **ECO和RoR集成**:除了AJAX之外,还可以将ECO和Ruby on Rails等其他技术集成到Delphi2007 for AJAX中,以构建更加丰富的Web解决方案。 - **示例演示**:通过实际的示例演示来展示如何使用这些技术来构建完整的Web...
在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的博客系统,代码风格简单清晰,前后太完善,适合初学者。
### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...
### 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 ...
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