ruby-on-rails - rails 3 : Simple AJAXy Page updates?

标签 ruby-on-rails jquery rjs

我不敢相信我为了这个简单的任务花了四个小时,但我确实做到了。

在 Rails 2.3 中,我可以使用以下简单代码替换页面的一部分:

渲染:更新|页面| page.replace_html "div_id", :partial => "new_content",... 结束

在 Rails 3 中,Ryan Bates 让我编写全新的 javascript 函数,从 Prototype(rails 默认)切换到 jQuery,否则就不享受生活了。其他类(class)也同样简单。

我错过了什么?我们如何更换<div>这几天?

最佳答案

谢谢,伙计们。官方的答案似乎是,是的,团队认为简单是优秀的敌人,因此将其变得更加复杂。

第一个关键是创建一个 .js.erb 文件,命名为调用 ajax 更新的方法。因此,如果索引方法处理更新,请将原始 JavaScript 放入 index.js.erb 中。这位于 View 文件夹中。

其次,在index.js.erb中运行的代码是

m = $('list_users');    
m.innerHTML = "<%= escape_javascript(render :partial => "reload_users") %>";

然后要进行调用,请在 Controller 方法的respond_to block 中添加:

format.js

最后,调用 View 有:

<%= link_to "Update User List", @reload_users_path, :remote => true %>

顺便说一句,如果您安装插件,据说所有使用 page.replace 的旧页面都可以工作。插件下载页面表明它在 Rails 3 的最新版本中出现问题并且尚未修复。此外,如果您使用它,各种博主会来到您家并更换您。

关于ruby-on-rails - rails 3 : Simple AJAXy Page updates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016285/

相关文章:

javascript - 让 jQuery .on() 与 Rails 3 一起使用

javascript - jQuery 删除或添加样式到特定类型元素的最后一个

javascript - 根据自己已有的内容替换header标签的内容

javascript - 如何在 Ruby on Rails 3.0 中对不同域进行 AJAX 调用

ruby-on-rails - heroku sqlite 1.3.6 问题?

ruby-on-rails - rails + postgres : Using Group query on a has_many through

javascript - 在 javascript 中隐藏和显示表格所有行的最快方法是什么?

java - Play 框架中的 RJS

javascript - 访问未发送表单的值以用于remote_function

ruby-on-rails - 尽管没有模型更改,Rails 部分缓存仍显示 View 更改