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

RJS Templates for Rails的thought_log程序

    博客分类:
  • Ruby
阅读更多
thought_log是《RJS Templates for Rails》的Getting Started程序
app/controllers/thoughts_controller.rb:
class ThoughtsController < ApplicationController
  def log
    @thought = params[:thought]
  end
end

app/views/thoughts/index.rhtml:
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>Thought Log</title>
    <%= javascript_include_tag :defaults %>
  </head>
  <body>
    <h1>My thoughts</h1>
    
    <%= form_remote_tag :url => {:action => 'log'}, :html => {:id => 'thought-form'} %>
    <%= text_field_tag 'thought', nil, :size => 40 %>
    <%= submit_tag 'Log thought' %>
    <%= end_form_tag %>
    
    <div id="thoughts"></div>
  </body>
</html>

app/views/thoughts/_thought.rhtml:
<p>
  <span style="font-size: 0.8em;">[<%= Time.now.to_s(:db) %>]</span>
  <%= h thought %>
</p>

app/views/thoughts/log.rjs:
page.insert_html :bottom, 'thoughts', :partial => 'thought'
page.visual_effect :highlight, 'thoughts'
page.form.reset 'thought-form'

需要注意的两点:
1,不要在form_remote_tag中使用:update,否则会生成Ajax.Updater这个Prototype对象而不会生成Ajax.Request对象,前者使用response内容更新一个单独的DOM元素,而后者使用RJS模板返回JavaScript到浏览器并执行。
2,当xx.rhtml和xx.rxml模板与xx.rjs模板在一个目录共存时,xx.rhtml和xx.rxml模板会比xx.rjs模板先被找到并渲染,这样RJS模板就失效了
分享到:
评论

相关推荐

    RJS Templates for Rails

    RJS templates are an exciting and powerful new type of template added to Rails 1.1. Unlike conventional Rails templates that generate HTML or XML, RJS templates generate JavaScript code that is ...

    Rails相关电子书汇总二

    这次我们将特别关注一本名为“RJS Templates for Rails”的资源。 描述中提到的“NULL”表明没有具体的描述信息,所以我们需要依赖标题和标签来理解内容。标签包括"源码"和"工具",这暗示了电子书中可能包含Rails...

    rjs 技术

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

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

    6. log:这个目录可能包含了日志文件,记录了程序运行时的输出信息,对于调试和理解程序行为很有帮助。 7. vendor:这个目录通常存放第三方库和依赖,可能包含了RJS需要的一些JavaScript库或者插件。 8. config:...

    capistrano-requirejs-optimizer:用于 r.js 优化的 capistrano 任务

    requirejs_optimizer_config&lt;Hash&gt; base_url基本网址require_config_path需要配置的路径main_config_root_path&lt;string&gt; mainConfigRoot 目录的路径out目标路径withoutOptimize是或否rjs_recursive_url rjs 的 ...

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

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

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

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

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

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

    使用Ruby on Rails开发LBS网站初探示例代码

    这几天一直在学习使用RoR(Ruby on Rails),想建立一个功能全面一点的LBS(Location Based Service)网站。但是对于我这个RoR的初学者(仅有几天时间)来说,毕竟太复杂了。因此本文试图简化原来的设计思路,抛弃一切...

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

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

    rjs配合node压缩材料

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

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    24.3 RJS模板 451 24.4 结论 456 第25章 ActionMailer 457 25.1 发送邮件 457 25.2 接收邮件 465 25.3 电子邮件的测试 467 第26章 Active Resource 469 26.1 Active Resource的替代品 469 26.2 给我看代码! 471 ...

    RJS Cheatsheet

    RJS(Remote JavaScript Template)是Ruby on Rails框架中的一个特殊组件,用于在服务器端生成JavaScript代码,并将其发送到客户端执行,从而实现动态更新页面的功能。这种方式可以有效减少页面刷新次数,提升用户...

    cryptpad-rjs:使用CryptPad的RenderJS应用程序

    **CryptPad的RenderJS应用程序详解** CryptPad是一款开源的、零知识的在线协作工具,它提供了类似Google Docs的体验,但所有的数据在传输和存储时都经过加密,确保了用户数据的安全性和隐私。RenderJS是CryptPad的...

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

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

    rjs:Rust JavaScript解释器

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

    HP打印机4350驱动程序

    HP打印机4350驱动程序是为惠普(HP) LaserJet 4350系列打印机设计的关键软件组件,它允许计算机与打印机之间进行有效的通信,确保设备能够正确地理解和执行打印指令。驱动程序在操作系统和硬件设备之间起着桥梁的...

    RJS_Shipra.github.io

    【标题】"RJS_Shipra.github.io" 是一个个人或项目在GitHub上托管的静态网页站点,通常用于展示个人作品、博客或者项目的详细介绍。这个站点可能是由GitHub Pages服务提供的,它允许用户通过GitHub仓库发布静态网站...

Global site tag (gtag.js) - Google Analytics