分享 Rails 3.2 的 Ajax 向导

Rei · 发布于 2012年4月21日 · 最后由 xiao__liang 回复于 2016年5月13日 · 7097 次阅读
1

前不久入手了《Web开发敏捷之道》的中文第4版,翻看了 Ajax 部分,发现竟然还是使用 .rjs 模板。.rjs 模板在 3.1 版以后已经被移除。另外我又去看了官方的 Rails guide,发现也没有讲述 Ajax 的章节。
也就是说一个新手入门,很可能搞不清楚 Rails 对 Ajax 的支持是如何处理的。所以我想在这写写 Rails 3.2 的 Ajax 向导,让不了解 Ajax 的新手了解 Rails 3.2 的 Ajax 处理,或者了解 Ajax 但不了解 Rails 的人知道 Rails 对其提供了什么支持。

http://chloerei.com/2012/04/21/rails-3-2-ajax-guide/

补充:要写一个向导真是不容易,特别是很难整理出一个足够短、能看懂、同时又能跑起来的例子。这个角度看《Web开发敏捷之道》还是挺不错的,除了 rjs 部分过时了。所以看完我的向导之后还是不知道怎么写 Ajax 的朋友,不妨用 3.0.5 跟着《Web开发敏捷之道》第4版中文的例子走一遍,之后再去了解为什么 rjs 模板被去掉了。

共收到 28 条回复
717

@Rei ,看完了,说的真清楚,对不熟悉ajax的同学应该有很大的帮助,感谢

602

cool ,谢谢分享。like了~ 另外如果和我一样不太喜欢魔法的话 ,http://www.alfajango.com/blog/rails-3-remote-links-and-forms/ 和 这个博客里面的http://www.alfajango.com/blog/rails-3-remote-links-and-forms-data-type-with-jquery/#example 都是不错的阅读资料。

96

非常感谢!

304

谢谢分享~

273

关键还是那个js.erb的问题。

96

太棒了!对于 Rails 的 ajax 一直很困惑,看完楼主的介绍,豁然开朗! 多谢分享!

257

#6楼 @Rei 怎么你给的链接不能进去了吗?

The page you were looking for doesn't exist.

2

@Rei 换了头像我都不认识你了

1

#9楼 @huacnlee 不换头像不舒服斯基

56

前一阵还问过这个问题。

465

服务短方式的 *.erb 支持 coffee吗?

162

@Rei 文章很简洁,提一个小瑕疵,客户端的ajax在Rails 3.2里面通常是绑定ajax:event来做的,而不需要绑定form的submit或者link的click事件,这样可以少去很多代码:

$('new_reply_form').on('ajax:success', function(data){
  $("#xxx").html(data)
})

1

#13楼 @reducm 我试了一下 coffee.erb,不能正确处理,后来就把文中 coffee 部分内容去掉了。

#14楼 @quakewang 因为假设的例子是 :remote => true 这个 Rails 的 helper 都不用,所以用了 submit 事件发起 ajax 请求。也许例子二和一混淆了,我再补充一个例子二的form。

96

@Rei 网站貌似无法访问了

2358

写的特别好,一下就明白了,原来版本差异会这么大,一开始我看的还是rails 2的书,WEB开发之旅.

465

#15楼 @Rei 最近有需要再coffee后面再加个可以处理异步的javascript引擎,刚看了一下 Sprockets的库, 发现里面其实可以支持在erb里嵌coffee的

Note: Sprockets processes multiple engine extensions in order from right to left, so you can use multiple engines with a single asset. For example, to have a CoffeeScript asset that is first preprocessed with ERB, use the extension .js.coffee.erb.

1

#18楼 @reducm 又试了一下,发现可以,之前不知道搞错了什么。

5759

我在《Web开发敏捷之道》的英文第4版。刚刚接触Ajax那部分内容,看的不是很明白,并且运行还有问题,结果还不刷新,真是郁闷!现在正在努力寻找问题所在。到时,搞不定,希望@Rei 能帮一把。啊哈哈

6266

我想说真的是找不到该页面...有个问题,rails 3 ,有生成树的gem吗,怎么用?谢啦

96

#22楼 @Rei 这个连接又失效了

96

连接失效了 @Rei

10007

连接失效了

10007

#26楼 @Rei 非常感谢!!!!我之前要死要活地看完昨天你发的英文guide,然后终于看到中文,真的非常感谢!!!!

25910

@Rei 楼上链接都失效了,能麻烦再发一下么

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册