这是场景。
要点: 我有一个解决方案,但我想知道这是否是在Rails 3中使用AJAX回调的最佳方法。
问题:
我有一个链接,点击它时应该使用AJAX来更新页面上现有的html元素(在我的例子中是div
):
<div id="project_content">Change Goes here</div>
我的解决方案
在我的projects/show.html.erb
true}%&gt;
我的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(“&lt;%= escape_javascript(render:partial =&gt;'tasks')%&gt;”);
问题: 这一切都有效。但为什么我必须做所有这些?是不是(或者没有)一个解决方案,让我们所有人都可以简单地做到这一点
<%= link_to "tasks", project_tasks_path(@project), {:remote=>true, :update=>"project_content"} %>
然后,这会将tasks/index.js.erb
加载到键:update
引用的任何元素中?
答案 0 :(得分:0)
您正试图从旧的Rails 2.3重新发明link_to_remote。这种解决方案通常过于复杂和僵化。
答案 1 :(得分:0)
我找到了答案here
令人遗憾的是,此功能已从Rails 3中删除。