首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

19.2  Rails对Ajax的支持

Rails使用Prototype库来支持Ajax应用。同时Rails提供了一系列辅助类,帮助开发人员快速完成Ajax应用开发,下面介绍Rails提供的这些辅助类。

19.2.1  模块ActionView::Helpers::AssetTagHelper

该模块的代码位置为:vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb。它提供了一系列方法,可以方便地在HTML页面中链接其他资源,如JavaScript脚本、stylesheets定义文件等。该模块提供了如下方法。

javascript_include_tag(*sources)

该方法可以在视图文件中包含JavaScript脚本文件。参数是一个或多个脚本名称。

使用例子如下。

javascript_include_tag "prototype" # 输出如下

    <script type="text/javascript" src="/javascripts/xmlhr.js"></script>

javascript_include_tag "prototype", "/other/googlemap" # 输出如下

    <script type="text/javascript" src="/javascripts/prototype"></script>

    <script type="text/javascript" src="/other/googlemap.js"></script>

19.2.2  模块 ActionView::Helpers::PrototypeHelper

该模块的代码位置为:vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb。它提供了一系列辅助类,来调用Prototype的JavaScript方法,包括用于Ajax远程调用的方法。该模块有如下方法。

1.link_to_remote(name, options = {}, html_options = {})

构建一个通过XMLHttpRequest调用远程方法的链接,远程方法路径由options[:url]指定。返回结果被插入到由options[:update]指定的DOM对象中。典型的例子如下。

link_to_remote "Delete this project", :update => "project",

    :url => { :action => "destroy", :id => project.id }

#创建了一个link,显示是Delete this project,点击link后异步远程调用project的destroy动作,并把返回结果更新到project这个DOM对象中。

该方法的options参数如下。

表19.1                                                        options参数列表

参 数 名

参 数 类 型

说  明

url

哈希

指定远程方法路径。由action指定远程方法

update

字符串或哈希

指定Ajax调用结果输出的DOM对象ID。可以通过哈希定义多个DOM对象,针对不同的执行结果

position

字符串

指定DOM对象的更新方式。总共有下面4种方式:before、top、bottom和after

2.form_remote_tag(options = {})

构建一个HTML Form标记,该标记通过XMLHttpRequest方式调用远程方法。这个方法同link_to_remote很相似,只是这个方法可以提交用户的输入给远程方法。该方法的典型使用方法如下。

form_remote_tag :html => {:update=>”my area”, :action =>

    url_for(:controller => "area", :action => "add") }

19.2.3  模块 ActionView::Helpers::JavaScriptHelper

该模块的代码位置为:vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb。提供了一系列在视图中使用JavaScript的辅助类。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论