2012-03-11 79 views
3

以下是该场景。使用Rails 3进行ajax回调的正确方法是什么link_to

摘要: 我有一个解决办法,但我想知道这是否是获得一个AJAX回调Rails的工作的最好方法3.

问题: 我有一个链接,当

<div id="project_content">Change Goes here</div>

:点击它应该在网页上使用AJAX来更新现有的HTML元素(在我的情况下,div)我的解决方案 在我projects/show.html.erb

真}%>

我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 =>'ta SKS')%>“);

问: 这一切工作。但为什么我必须这样做呢?是不存在(或不存在),其用于将所有我们简单地做这

<%= link_to "tasks", project_tasks_path(@project), {:remote=>true, :update=>"project_content"} %>

一个解决方案,那么这将加载tasks/index.js.erb到哪个元素的键:update参考?

回答

0

您试图从旧的Rails 2.3中重新创建link_to_remote。总的来说,这样的解决方案过于复杂和僵化。

+0

我不明白你在说什么去掉? – haroldcampbell 2012-03-13 16:55:14

+0

@haroldcampbell花一些时间检查'link_to_remote'功能。它甚至有你提出的':update'选项。 – 2012-03-13 18:39:57

+0

但是'link_to_remote'已经从Rails 3+中移除了:这就是说问题依然存在。什么替代'link_to_remote',我可以简单地提供':update'哈希? – haroldcampbell 2012-03-14 00:15:23

相关问题