rails 1.1以上版本提供了强大优雅的RJS,可能执行一个请求多个更新。
有些时候我们并不需要请求服务器,只想在浏览器上执行某些脚本更新,但又想使用RJS。所以为RoR增加了这项功能。
使用方法:
<script language="javascript">
<%=
render :update do |page|
page.define_action 'test_action' do
page.call_script <<-EOS
alert(params.comment.title);
alert(params.comment.body);
EOS
page.replace_html 'errors', 'ERROR'
end
page.define_action 'link_action' do
page.replace_html 'errors', 'ERROR'
end
end
%>
</script>
<div id="errors"></div>
<%= form_local_tag :html => {:action => 'test_action'} %>
<input name="comment[title]" /><br />
<input name="comment[body]" /><br />
<%= submit_tag 'Create' %>
<%= end_form_tag %>
<%= link_to_local 'Test', :action => 'link_action()' %>
上面演示了form_local_tag和link_to_local的使用,打开这个页面以后,可以关掉服务器测试,会发现它不请求服务器也能执行相应脚本。
define_action定义一个脚本函数,call_script用来实现javascript和RJS代码的混合。当使用form_local_tag时,action方法的参数已经被处理过,所以可以直接在action中使用params.comment.title。
当然现在还不完善,比如还只能使用转换完的页面模板,一些动态页面将看不出效果。要做到这点,需要用javascript实现一整套的ActionView辅助方法。
下面提供一个针对rails 1.1.2的一个补丁文件:
补丁文件下载
分享到:
相关推荐
Ruby on Rails,简称RoR,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,用于快速开发高效、可维护的Web应用。RoR的核心理念是DRY(Don't Repeat Yourself)和Convention ...
"Insta-clone: 具有RoR和React.js的InstaClone" 这个标题表明我们正在讨论一个项目,它是一个克隆版的Instagram,使用了两种主要的技术栈:Ruby on Rails(RoR)和React.js。RoR是基于Ruby语言的全功能Web开发框架,...
《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天课程的演示文稿和相关资料,覆盖了从安装到实际应用...
Ruby on Rails,简称RoR,是一个基于Ruby语言的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,极大地简化了服务器端编程。 【描述】:“服务器编程:Ruby on Rails 2015”提示我们关注的是2015年版本的...
Ruby列表是一个用Ruby on Rails(RoR)框架构建的项目,它的目标是模仿并实现流行的分类广告网站Craigslist的功能。RoR是一个基于Ruby语言的全功能Web开发框架,以其MVC(模型-视图-控制器)架构模式而闻名,为...
Ruby on Rails(RoR)是一个强大的、开源的Web应用框架,遵循MVC(模型-视图-控制器)架构模式,强调生产力和简洁性,使得开发过程更为高效。 **Ruby on Rails框架** Ruby on Rails是由David Heinemeier Hansson在...
标题中的“RobHub”是一个项目,它旨在将两种强大的Web开发技术——Ruby on Rails和Ember.js——融合在一起,创建一个个人展示网站。这个网站预期的功能包括发布文章、展示项目和展示作者的简历,以此来全面展示作者...
前端部分则是使用了Angular 1.4.4,这是一个强大的JavaScript MVC框架,由Google维护。Angular 1.x版本强调了数据绑定和依赖注入,使得开发者可以更轻松地创建动态、响应式的用户界面。1.4.4版本是Angular 1.x系列的...
Ruby on Rails(简称RoR)是Ruby语言的一个开源web开发框架,它遵循MVC(模型-视图-控制器)架构模式,强调DRY(Don't Repeat Yourself)原则,提倡简洁的代码和高效的开发流程。在"Alumni on Rails"项目中,开发者...
这个项目的核心技术栈是Ruby,一个面向对象的脚本语言,以其简洁、优雅的语法和强大的Rails框架而闻名。 在Ruby on Rails(RoR)框架下,webecome.family得以快速开发,RoR遵循MVC(Model-View-Controller)架构...
在Web开发领域,Ruby最著名的框架是Ruby on Rails(RoR),这是一个用于构建数据库驱动的Web应用的全栈框架。Ruby on Rails采用MVC(模型-视图-控制器)架构模式,使得开发快速而高效。 在设备跟踪器Web应用程序中...
sitehunt 通过使用 Ruby on Rails(简称 RoR)框架构建,为开发者和创新者提供了一个类似的环境,使他们能够在本地环境中探索和体验 ProductHunt 的核心特性。 Ruby on Rails 是一种使用 Ruby 语言编写的开源 web ...
Ruby on Rails(RoR)是一个基于Ruby语言的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,用于简化Web开发流程。在这个项目中,开发者Oray Kurt创建了一个展示其作品、技能和个人经验的在线平台。 描述...