`
hideto
  • 浏览: 2682319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

每天一剂Rails良药之RJS

    博客分类:
  • Ruby
阅读更多
本来题目应该为Update Multiple Page Elements With One Ajax Request,但蛙眼的博客标题字数有限,遂更名为RJS,因为这次主要了解的就是Rails的RJS。
让我们看看一个RJS的例子,通过一次Ajax请求灵活的更新页面中的多个元素。

1,新建Rails项目和一个rhtml
如app/views/ajax_fun/index.rhtml:
<html>
    <head>
        <%= javascript_include_tag :defaults %>
    </head>
    <body>
        <h2 id="header">AjaxFun</h2>
        <div>
            This page was initially loaded at <%= Time.now %>
        </div>
        <div>
            This page was updated at <span id="time_updated"><%= Time.now%></span>
        </div>
        <ul id="the_list">
            <li>Initially, the first item</li>
            <li>Another item</li>
            <li id="item_to_remove">This one will be removed.</li>
        </ul>
        <div id="initially_hidden" style="display: none;">
            This text starts out hidden.
        </div>
        <%= link_to_remote "Ajax Magic", :url => {:action => "change"} %><br/>
    </body>
</html>

该页面作为Ajax调用的基本页面,我们用javascript_include_tag引入了Rails自带的JavaScript
注意link_to_remote这个helper方法,它的:url表明我们将用Prototype的Ajax.Request(...)方法调用服务器端的change方法。

2,创建一个controller
如app/controllers/ajax_fun_controller.rb:
class AjaxFunController < ApplicationController
  def change
    @rails_version = Rails::VERSION::STRING
  end
end


3,创建一个RJS模板
因为我们对controller的change方法做RJS,所以我们的RJS模板为app/views/ajax_fun/change.rjs:
page['time_updated'].replace_html Time.now
page[:time_updated].visual_effect :shake

page.insert_html :top, 'the_list', '<li>King of the Hill</li>'
page.visual_effect :highlight, 'the_list'

page.show 'initially_hidden'

page.delay(3) do
  page.alert "Rails Version: " + @rails_version
end

page.remove 'item_to_remove'


4,看看效果
打开浏览器访问http://localhost:3000/ajax_fun,点击Ajax Magic链接即可。
我们的change.rjs更新了time_updated的时间,并有一个shake的effect,然后在the_list的顶端插入一行,并highlight它,然后我们显示了initially_hidden这个隐藏div,然后我们在page load成功3秒后alert我们的Rails的版本,最后删除item_to_remove这行。
分享到:
评论
2 楼 hideto 2007-07-31  
@qingyong
这得看script.aculo.us的visual effect
1 楼 qingyong 2007-07-31  
想知道为什么高亮显示了几秒就消失了.?关注

相关推荐

    RJS Templates for Rails

    - **OReilly.RJS.Templates.for.Rails.Jun.2006.chm**:这可能是一个关于RJS模板的电子书,详细介绍了如何在Rails项目中使用和优化RJS模板,包括示例和最佳实践。 - **file_id.diz**:这通常是一个文件说明文件,...

    rjs 技术

    rjs,全称Ruby JavaScript,是一种在Ruby on Rails框架中结合JavaScript的编程方式,主要用于创建动态和交互式的网页应用。它允许开发者使用Ruby语法来编写JavaScript代码,使得JavaScript的编写更加简洁、易读,...

    一些RJS资源和演示入门教程

    综合以上信息,这个压缩包资源是针对Ruby on Rails开发者的一个RJS学习资料,包含示例代码、解释文档和必要的工具。通过研究这些文件,开发者可以学习到如何在Rails项目中使用RJS来增强用户体验,实现页面的动态更新...

    Rails 101 入门电子书

    《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别是那些想要从零开始掌握这项技术的新手。 #### 二、...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails之道.pdf(最新版)

    《Rails之道》详细讨论了Rails的程序代码并通过分析Rails中的代码片段来深入解释它的功能,同时,《Rails之道》部分章节也摘录了一些API文档中的内容,使读者能够快速地找到对应的API文档、相关的示例代码以及深入的...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    关于rails 3.1 cucumber-rails 1.2.0

    首先,Rails 3.1是Ruby on Rails框架的一个版本,它在2011年发布。这个版本引入了一些显著的改进,如Asset Pipeline(资产管道)和CoffeeScript支持。Asset Pipeline允许开发者更有效地管理和优化应用程序的前端资源...

    rails2-sample

    MVC是Rails的核心架构之一,这一章节将详细介绍这三个组件的作用和相互关系。模型负责与数据库交互,管理数据;视图用于展示数据给用户;控制器则处理用户请求,协调模型和视图之间的操作。了解并正确运用MVC模式是...

    Rails之道.pdf 高清 带书签

    Rails之道.pdf 高清 带书签

    Ruby-Rails实战之B2C商城开发

    在本项目"Ruby-Rails实战之B2C商城开发"中,我们将深入探索使用Ruby on Rails这一强大的Web开发框架来构建一个完整的B2C(Business-to-Consumer)在线商城。Rails是Ruby语言的一个核心框架,以其MVC(Model-View-...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    使用Aptana+Rails开发Rails Web应用(中文)

    Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。本教程将详细介绍如何使用Aptana与Rails结合,创建一个功能完备的Web应用程序。 首先,我们需要安装Aptana...

    Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码。

    标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **步骤**:通过命令行使用`rails new project_name`来初始化一个新的Rails项目。 - **结构**:新项目将包含默认的目录结构,如`app`、`config`、`db`等,分别用于存放应用程序代码、配置文件、数据库迁移脚本等。 ...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    web开发之rails最新调试通过购物车代码

    本压缩包中的"web开发之rails最新调试通过购物车代码"是关于使用Rails进行Web应用开发的一个实例,特别是针对购物车功能的实现。 购物车是电商网站的核心部分,它允许用户选择商品并保存这些选择以便后续购买。在...

Global site tag (gtag.js) - Google Analytics