一、关于:
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+条码检测仪分析结果说明书以及使用过程中注意事项。
标题中的“一些RJS资源和演示入门教程”指的是与Ruby JavaScriptSerializer (RJS)相关的学习材料和实践示例,这是一门技术,主要用于在Rails框架下生成JavaScript代码。RJS通常用于更新页面的部分内容,无需刷新整个...
**rjs技术** rjs,全称Ruby JavaScript,是一种在Ruby on Rails框架中结合JavaScript的编程方式,主要用于创建动态和交互式的网页应用。它允许开发者使用Ruby语法来编写JavaScript代码,使得JavaScript的编写更加...
**RJS Templates for Rails** RJS模板是Rails框架在1.1版本中引入的一种创新且功能强大的新模板类型。它们的出现极大地提升了Rails应用中JavaScript的编写效率和可维护性,尤其是在处理动态交互和页面更新时。RJS,...
《PyPI官网下载:calmjs.rjs-1.0.0.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了无数的开源库,使得Python编程更加便捷高效。今天我们将聚焦于在PyPI上找到...
在IT行业中,优化资源加载和提高页面性能是至关重要的任务之一。`r.js`、`require.js` 和 `Node.js` 是在这个领域中常见的工具,它们在JavaScript模块管理和构建流程中发挥着重要作用。这里我们将深入探讨这三个工具...
本文将重点介绍RJS D4000+和HHP/Honeywell QC800这两款条码检测仪的常见故障及维修方法。 RJS D4000+是一款高级的条码检测仪,它提供了精确的条码分析和评估,以满足各种行业标准。当遇到设备故障时,首先要检查...
在本篇文章中,涉及的知识点主要围绕“无人驾驶自动驾驶智能汽车”的理论、算法以及实现技术展开。文章内容部分提及了计算机视觉与模式识别技术的进步,并且明确指出智能车辆领域已经成为智能交通系统研究的主流课题...
RJS.Web.WebControl.PopCalendar.dll下载,用于网页asp 时间选取周别
Rust上JavaScript rjs是Rust中的本机JavaScript实现。该项目rjs的目标是在Rust中提供一种快速的本机JavaScript实现。 当前rjs处于alpha状态,这意味着性能和稳定性不能代表我们想要的最终结果,并且公共API可能仍会...
### RJS Cheatsheet知识点详解 #### 一、RJS简介 RJS(Remote JavaScript Template)是Ruby on Rails框架中的一个特殊组件,用于在服务器端生成JavaScript代码,并将其发送到客户端执行,从而实现动态更新页面的...
rjs:R中的建模。JavaScript中的交互性。 rjs旨在帮助您利用JavaScript的可视化库和R的建模包来构建量身定制的交互式应用程序。 (这是的重构版本,在很大程度上是向后兼容的。我不久jsReact教程rjs到rjs ,现在请...
gulp-require-rjs 扩展代码形式 r.js优化插件描述到r.js的gulp接口。 您可以使用r.js优化器同时打包多个文件。 可以将参数直接传递到r.js。 添加一个名为outPath的参数,以便可以更改打包方式; 默认值为baseUrl 。...
rjs:JavaScript中的R 在JavaScript中引入R,这是一种由支持的将R代码直接插入网站的。 您可以通过2个简单的步骤使用它。步骤1 在html文件的任意位置添加[removed][removed] (或在本地下载r.js )。第2步将class = ...
gulp-rjs2 gulp 的 Requirejs 插件,支持组件模式 安装 使用安装 npm install --save-dev gulp-rjs2 用法 var rjs = require ( 'gulp-rjs2' ) ; // build libs.js gulp . task ( 'rjs-libs' , function ( ) { //...
gulp-简单-requirejs gulp requirejs 启动器,将所有参数传递给 rjs合理的我们需要一个 requiredjs gulp 插件,一方面,它支持高级特性,如包含、源映射等,另一方面,不从gulp.src开始,而是自己启动流,使用标准 ...