Ajax和Ruby on Rails框架的结合应用(1)(3)
Ajax 能生成强大的动作,甚至能生成一些预料不到的动作。例如,用户也许没注意到更新的时间链接。link_to_remote 选项让您能够轻易地将特殊效果应用到该条目上,从而让用户注意到该结果。现在将应用一些效果。请更改 show.rhtml 中的 link_to_remote 辅助方法,使它与清单 7 类似:
清单 7. 添加效果
<%= link_to_remote "time",
:update => 'time_div',
:url => {:action => "time"},
:complete => "new Effect.Highlight('time_div')" %>
| <%= link_to_remote "time", :update => 'time_div', :url => {:action => "time"}, :complete => "new Effect.Highlight('time_div')" %> |
最佳 Ajax 效果会使您的更改获得临时的关注,但却不会永久持续。您的目标应该是把更改提示给用户,而不打断他们的工作流。像这种用黄色来弱化强调的技术,或用滑入内容或淡出内容来让用户注意的技术都不是长久之计。
到目前为止,链接是您见到的惟一触发器。Ajax 还有许多其他的可用武器,一些由用户驱动,而另一些由程序事件驱动,如时钟。它是一个像闹钟一样并不需要用户干预的东西。可以用 Ajax 的 periodically_call_remote 方法定期更新时钟。请按照清单 8 编辑 show.rhtml 中的代码:
清单 8. 定期调用远程方法
<%= javascript_include_tag :defaults %>Ajax show<%= periodically_call_remote :update => 'time_div', :url => {:action => "time"}, :frequency => 1.0 %>
精彩图集
精彩文章
热门标签赞助商链接 |






