Ruby on Rails 3 - 通过AJAX加载HTML通过RJS方式(jQuery + UJS)
我第一次使用Ruby on Rails(Ruby on Rails 3和Ruby 1.9.2)。Ruby on Rails 3 - 通过AJAX加载HTML通过RJS方式(jQuery + UJS)
到目前为止我非常喜欢它。我发现了一篇关于如何在Ruby on Rails 2.x中使用RJS的优秀文章。从那时起,rails开发人员已经移除了rails的Prototype依赖关系(这是一件好事)。但是,通过这样做,他们同样也删除了RJS功能和link_to_remote。现在,您应该使用link_to:remote => true作为参数,但它对于为远程设备执行远程操作的功能要少得多,就像rails 2.x中的link_to_remote方法+ render(:update)一样。我已经设置了jQuery for UJS(UJS是一种能够让你用你选择的JavaScript库制作类似RJS的特性(使你能够使用比Prototype更多的库))。
所以我的问题。
什么是通过AJAX远程获取HTML并将其呈现在div标签内的最佳方式(作为示例)?我希望能够使用与旧的RJS类似的功能,使用渲染(:更新)等。
非常感谢所有帮助。我真的希望,我不必手动绑定jQuery事件,因为RJS功能看起来非常好,所以能够将HTML远程加载到DOM中。
谢谢。
我通常所说的谐音从我js.erb文件:
$('#container').html("<%= escape_javascript(render(:partial => 'content')) %>");
以及适当的HTML我想在部分。
如果你有很少的html,它可能没有意义。在这种情况下,直接写入你的js.erb文件。
你可以看看这个简短的教程:http://blog.bernatfarrero.com/jquery-and-rails-3-mini-tutorial/
或者您可以使用RJS(Rails 3中仍然有RJS),但我更喜欢直接写入到js.erb的文件。
render :update do |page|
page.replace_html 'id_of_dom_obj', :partial => 'partial_path'
end
非常感谢您的回答!你是救生员。 :-) – 2011-02-11 01:29:14
不客气:) – apneadiving 2011-02-11 07:49:38