这里是情景。
概要: 我有一个解决方案,但我想知道是否这是Rails 3中获得AJAX回调最好的方法。
问题: 我有一个链接,当单击它时,应该使用AJAX来更新页面上现有的HTML元素(在我的情况下是
概要: 我有一个解决方案,但我想知道是否这是Rails 3中获得AJAX回调最好的方法。
问题: 我有一个链接,当单击它时,应该使用AJAX来更新页面上现有的HTML元素(在我的情况下是
div
):
<div id="project_content">Change Goes here</div>
我的解决方案:
在我的projects/show.html.erb
中:
true} %>我的TasksController如下:
class TasksController < ApplicationController
def index
respond_to do |format|
format.html
format.js { render action: "index", script: true }
end
end
end
在我的tasks/index.js.erb
文件中,我有以下内容:
$("#project_content").html("<%= escape_javascript(render :partial => 'tasks')%>");
问题:这一切都有效。但是我为什么要这样做呢?难道没有解决方案可以让我们简单地执行以下操作吗?
<%= link_to "tasks", project_tasks_path(@project), {:remote=>true, :update=>"project_content"} %>
然后将tasks/index.js.erb
加载到键:update
所引用的任何元素中?
link_to_remote
的功能。它甚至有你提出的:update
选项。 - Nash Bridgeslink_to_remote
已经从 Rails 3+ 中删除:话虽如此,问题仍然存在。有没有替代link_to_remote
的方法,可以简单地提供一个:update
哈希? - haroldcampbelllink_to_remote
已经被移除的原因。 - Nash Bridges