龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

Ajax和Ruby on Rails框架的结合应用(1)(2)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
清单 4. 呈现时间 def time render_text "The current time is #{Time.now.to_s}" end 现在,当单击该链接时,会得到图 2 中的视图: 图 2. 不涉及 Ajax 的视图 498)this.width=498
清单 4. 呈现时间

def time
render_text "The current time is #{Time.now.to_s}"
end

现在,当单击该链接时,会得到图 2 中的视图:

图 2. 不涉及 Ajax 的视图

不涉及 Ajax 的简单视图

很快就能看到这个 UI 的一个问题。这两个视图不从属于单独的页面。该应用程序表示一个单一概念:单击一个链接来显示时间。为反复更新时间,每次都需要单击该链接和 Back 按钮。将该链接和时间放到相同的页面中也许可以解决这个问题。但如果该页面变得非常大或非常复杂,重新显示整个页面会很浪费,也会很复杂。

添加 Ajax

Ajax 让您可以只更新 Web 页面的一个片段。Rails 库为您处理大部分的工作。要将 Ajax 添加到这个应用程序中,需要以下四个步骤:

  • 配置 Rails 以使用 JavaScript。
  • 更改时间链接来提交 JavaScript Ajax 请求,而不是仅呈现一个 HTML 链接。
  • 指定要更新的 HTML 片断。
  • 为更新的 HTML 内容准备一个位置。
  • 构建一个控制器方法,或者一个视图来呈现 Ajax 响应。

首先,更改 app/views/ajax/show.rhtml 中的代码,使其与清单 5 类似:

清单 5. 更改显示视图来使用 Ajax

<%= javascript_include_tag :defaults %>

Ajax show


Click this link to show the current
<%= link_to_remote "time",
:update => 'time_div',
:url => {:action => "time"} %>.


精彩图集

赞助商链接