0

下面的代码由于某种原因不起作用。当我单击“测试”时,它会将我重定向到 /home/test 并且什么也没有显示。

查看/home/index.html.erb

<%= link_to "test", { :controller => "home", :action => "test" }, :remote => true %>
   <div id='test_div'>
</div>

查看/home/index.js.erb

$("#test_div").html("some text");

控制器

class HomeController < ApplicationController
 def test
    "test123 test456"
    respond_to() do |format|
      format.js {render :layout => false}
    end
  end
end

我应该怎么做才能使用 ajax 刷新 div_test?

4

1 回答 1

1

你的路由文件是什么样的?可以发在这里吗?做一个 rake 路由并发布输出。

以下是一些可能对您有所帮助的事情:

  1. 用于路由的 Rails 文档
  2. 此外,请查看Ajax on Rails 文档和关于 link_to_remote 的部分。该link_to_remote功能不在 Rails 中。你用的是什么版本的rails?重击:$ rails -v
  3. 在 SO 上查看有关 AJAX on Rails 调用的答案。
  4. 编辑:这是另一个可能有帮助的答案。
  5. SO更新现有元素的另一个答案

编辑:再看一遍,我认为你不需要()afterrespond_to{...}in link_to。看第三个链接。我认为您需要将页面放在一个部分并呈现它。它现在没有渲染,因为它render :layout => false

于 2012-07-14T19:55:11.097 回答