2012-07-14 40 views
0

下面的代码由于某种原因而不起作用。当我点击“测试”时,它会将我重定向到/ home/test并不显示任何内容。Rails - 尝试创建简单的ajax示例

视图/家/ index.html.erb

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

视图/家/ 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?

+0

使用控制台,看看你的link_to远程工作,并使用console.log来获取响应,我认为你需要改变$到jQuery('#test_div')。html(“一些测试“); – GTSouza 2012-07-14 19:34:10

+0

这里没有什么用处。 – Alexandre 2012-07-14 19:45:20

回答

1

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

这里有一些事情可以帮助你:

  1. Rails documentation for routing
  2. 此外,检查出的Ajax on Rails Documentation和link_to_remote的部分。 link_to_remote函数不在Rails中。你在什么版本的导轨上? Bash:$ rails -v
  3. 请看S.O.上的this answer。关于Rails调用AJAX。
  4. 编辑:这是another有关这可能有所帮助的答案。
  5. Another answer on SO for updating existing element

编辑:找过这一次,我不认为你需要respond_to()link_to{...}。看看第三个链接。我认为你需要将页面放入局部并渲染它。它现在没有渲染,因为它的render :layout => false

+1

我算两个以上,但更多+2! – ahnbizcad 2014-06-11 23:45:14

+1

呃...我差不多5年了,但我修好了“2”哈哈! – 2015-02-28 11:24:02