`
water84222
  • 浏览: 375120 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论
阅读更多

一、关于:

 

RJS 模板类似于 .rhtml 模板,除了它们包含 Javascript 命令并有一个 .rjs 扩展名。 Action/view 的命名方式依然是一样的。与通常用于渲染一个动作结果的常规模板不同的是,这些模板生成如何修改一个现有被渲染页面的指令。这让它可轻易地修改声明为 Ajax 应答页面上的多个元素。这些模板的动作在使用 Ajax 的后台调用并更新发起请求的页面。

当前支持的 RJS 方法 / 特征:

1 insert_html

2 replace_html

3 show

4 hide

5 visual_effect

6 alert

7 redirect_to

8 call

9 assign

10 <<

11 toggle

12 delay

 

二、安装:

当前两种方式可以在你的 Rails 应用程序内使用 RJS 模板。最简单的方式是更新你的 Rails 来使用 edge rails 。其次是把 RJS 模板安装为一个插件。

 

三、 Edge Rails( 边缘化的 Rails )

 

Edge Rails 的意思是你在本地运行 Rails 的最近 SVN ,而不使用的 Gem 。通常检查 /vendor 目录, Rails 将自动使用它而不是使用由 Gem 安装到你机器上的。

让你的 Rails 应用程序运行在 Edge rails 上的最简便途径是,使用下面命令来更新最近的 Edge rails 到你的应用程序的 vendor 目录内:

rake freeze_edge

rake update_javascripts

这会把整个 Rails 框架安置到你的应用程序内。这就允许你不用安装 Rails 就可跑应用程序。

与之相反的解冻操作是:

rake unfreeze_rails

有关 Edge Rails 的更多信息可参阅: http://wiki.rubyonrails.com/rails/pages/EdgeRails

 

四、插件:

 

按下面步骤安装 RJS 模板插件:

script/plugin discover

这将询问你是否想添加插件。提示时要添加 codyfauser.com 。这样可确保你有正确的东西可运行:

script/plugin sources

现在执行:

script/plugin install javascript_generator_templates

做为选择,如果你不想添加 codyfauser.com ,你可以直接安装插件:

script/plugin install

http://www.codyfauser.com/svn/projects/plugins/javascript_generator_templates/

 

五、例子:

 

清单:

1 SQL

CREATE TABLE categories (

id serial NOT NULL,

name character varying(64)

);

2 、初始化安装:

rails rjs_demo

cd rjs_demo

rake freeze_edge

rake update_javascripts

script/generate controller home index add

script/generate model category

3 、视图模板 app/views/home/index.rhtml

<%= form_remote_tag :url => { :action => 'add' } %>

Category: <%= text_field 'category', 'name' %>

<%= submit_tag 'Add' %>

<%= end_form_tag %>

 

<ul id="categories">

<% @categories.each do |category| -%>

<li><%= category.name %></li>

<% end -%>

</ul>

没有什么特殊东西,只是用分类清单和一个表单来添加更多的分类。注意 <ul> 标记的标识符是 'categories' 。如果它是一个 <table> <tbody> 的标识符工作也是一样的。

4 、控制器方法 app/controllers/home_controller.rb

class HomeController < ApplicationController

def index

@categories = Category.find( :all )

end

def add

@category = Category.new

if request.post?

@category = Category.create( params[:category] )

end

end

end

把添加的分类放到数据库并赋值它给要在模板中使用的实例变量 @category 。动作完成后它会查找名为 add.* 的模板,我们在这儿称它为 add.rjs 模板。

5 RJS 模板 app/views/home/add.rjs

if @category && @category.errors.empty?

li = content_tag( 'li', @category.name )

page.insert_html :bottom, 'categories', li

page.visual_effect :highlight, 'categories', :duration => 3

end

如果创建的 category 没有错误,那么我们把它添加到 ‘categories’ 清单的底部。此处的魔术是 ‘page’ 对象。在 page 对象内,你可以在 html 文档的任意多个元素上工作。 Page 可以使用所有在上面列出的方法。

 

http://rewrite.rickbradley.com/articles/2006/02/06/rjs-templates

http://my4java.itpub.net/post/9983/215424

分享到:
评论

相关推荐

    条码检测仪RJS D4000+中文操作说明书

    **条码检测仪RJS D4000+中文操作说明书** 在信息技术高度发达的今天,条码作为数据传输和管理的重要工具,广泛应用于零售、物流、医疗等多个领域。条码检测仪,如RJS D4000+,是确保条码质量和效率的关键设备。本文...

    RJS D4000+条码检测仪中文操作说明书

    由于提供的信息有限,我将基于标题《RJS D4000+条码检测仪中文操作说明书》和描述《RJS D4000+条码检测仪中文操作说明书,比较简洁的中文操作说明书,都可以看明白的》进行知识点的生成。同时,会参考提供的部分内容...

    RJSD4000条码检测仪 RJS D4000+中文设置操作手册

    根据给定的文件信息,关于RJS D4000+条码检测仪的中文设置操作手册,这里可以提炼出一系列相关知识点,帮助用户更好地理解和操作该款条码检测仪。以下知识点涵盖了从条码检测仪的基本概念、操作到维护保养等多方面的...

    RJS D4000+等级条码检测仪扫描结果说明书

    RJS D4000+条码检测仪分析结果说明书以及使用过程中注意事项。

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

    标题中的“一些RJS资源和演示入门教程”指的是与Ruby JavaScriptSerializer (RJS)相关的学习材料和实践示例,这是一门技术,主要用于在Rails框架下生成JavaScript代码。RJS通常用于更新页面的部分内容,无需刷新整个...

    rjs 技术

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

    RJS Templates for Rails

    **RJS Templates for Rails** RJS模板是Rails框架在1.1版本中引入的一种创新且功能强大的新模板类型。它们的出现极大地提升了Rails应用中JavaScript的编写效率和可维护性,尤其是在处理动态交互和页面更新时。RJS,...

    PyPI 官网下载 | calmjs.rjs-1.0.0.tar.gz

    《PyPI官网下载:calmjs.rjs-1.0.0.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了无数的开源库,使得Python编程更加便捷高效。今天我们将聚焦于在PyPI上找到...

    rjs配合node压缩材料

    在IT行业中,优化资源加载和提高页面性能是至关重要的任务之一。`r.js`、`require.js` 和 `Node.js` 是在这个领域中常见的工具,它们在JavaScript模块管理和构建流程中发挥着重要作用。这里我们将深入探讨这三个工具...

    条码检测仪RJS D4000+ HHP/honeywell QC800故障和维修指导

    本文将重点介绍RJS D4000+和HHP/Honeywell QC800这两款条码检测仪的常见故障及维修方法。 RJS D4000+是一款高级的条码检测仪,它提供了精确的条码分析和评估,以满足各种行业标准。当遇到设备故障时,首先要检查...

    无人驾驶自动驾驶智能汽车:理论,算法和实现【5rjs.cn】

    在本篇文章中,涉及的知识点主要围绕“无人驾驶自动驾驶智能汽车”的理论、算法以及实现技术展开。文章内容部分提及了计算机视觉与模式识别技术的进步,并且明确指出智能车辆领域已经成为智能交通系统研究的主流课题...

    RJS.Web.WebControl.PopCalendar.dll

    RJS.Web.WebControl.PopCalendar.dll下载,用于网页asp 时间选取周别

    rjs:Rust JavaScript解释器

    Rust上JavaScript rjs是Rust中的本机JavaScript实现。该项目rjs的目标是在Rust中提供一种快速的本机JavaScript实现。 当前rjs处于alpha状态,这意味着性能和稳定性不能代表我们想要的最终结果,并且公共API可能仍会...

    RJS Cheatsheet

    ### RJS Cheatsheet知识点详解 #### 一、RJS简介 RJS(Remote JavaScript Template)是Ruby on Rails框架中的一个特殊组件,用于在服务器端生成JavaScript代码,并将其发送到客户端执行,从而实现动态更新页面的...

    rjs:R包

    rjs:R中的建模。JavaScript中的交互性。 rjs旨在帮助您利用JavaScript的可视化库和R的建模包来构建量身定制的交互式应用程序。 (这是的重构版本,在很大程度上是向后兼容的。我不久jsReact教程rjs到rjs ,现在请...

    gulp-require-rjs

    gulp-require-rjs 扩展代码形式 r.js优化插件描述到r.js的gulp接口。 您可以使用r.js优化器同时打包多个文件。 可以将参数直接传递到r.js。 添加一个名为outPath的参数,以便可以更改打包方式; 默认值为baseUrl 。...

    rjs:JavaScript中的R

    rjs:JavaScript中的R 在JavaScript中引入R,这是一种由支持的将R代码直接插入网站的。 您可以通过2个简单的步骤使用它。步骤1 在html文件的任意位置添加[removed][removed] (或在本地下载r.js )。第2步将class = ...

    gulp-rjs2:gulp 的 Requirejs 插件,支持组件模式

    gulp-rjs2 gulp 的 Requirejs 插件,支持组件模式 安装 使用安装 npm install --save-dev gulp-rjs2 用法 var rjs = require ( 'gulp-rjs2' ) ; // build libs.js gulp . task ( 'rjs-libs' , function ( ) { //...

    gulp-simple-requirejs:gulp requirejs 启动器,将所有参数传递给 rjs

    gulp-简单-requirejs gulp requirejs 启动器,将所有参数传递给 rjs合理的我们需要一个 requiredjs gulp 插件,一方面,它支持高级特性,如包含、源映射等,另一方面,不从gulp.src开始,而是自己启动流,使用标准 ...

Global site tag (gtag.js) - Google Analytics