我不敢相信我一直在寻找四个小时的这个简单的任务,但我有.
在Rails 2.3中,我可以用这个简单的代码来替换一个页面的一部分:
render:update do | page |
page.replace_html“div_id”,:partial => “NEW_CONTENT”,…
结束
在Rails 3中,Ryan Bates让我编写了全新的JavaScript函数,从Prototype(rails default)切换到jQuery,否则不享受生活.其他的tutes不是很简单.
我失踪了什么我们如何更换< div>这些天?
解决方法
多谢你们.官方回答似乎是,是的,团队觉得简单是好的敌人,使得它更加复杂.
第一个关键是为调用ajax更新的方法创建一个.js.erb文件NAMED.因此,如果index方法处理更新,则将raw javascript放在index.js.erb中.这在views文件夹中.
其次,在index.js.erb中使用的代码是
m = $('list_users'); m.innerHTML = "<%= escape_javascript(render :partial => "reload_users") %>";
然后进行调用,添加在respond_to块中的controller方法,添加:
format.js
最后,呼叫视图有:
<%= link_to "Update User List",@reload_users_path,:remote => true %>
顺便说一句,假设所有使用page.replace的旧页面都可以安装插件.插件下载页面表明它在Rails 3的最后一个版本中被破坏,并没有被修复.另外,如果你使用它,各种博客将会来到你家,桦木切换你.