【问题标题】:Rails - trying to create simple ajax exampleRails - 尝试创建简单的 ajax 示例
【发布时间】:2012-07-14 19:30:56
【问题描述】:

以下代码由于某种原因无法正常工作。当我点击“测试”时,它会将我重定向到 /home/test 并且什么也没有显示。

view/home/index.html.erb

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

view/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 应该怎么做?

【问题讨论】:

  • 使用控制台查看您的link_to 远程是否有效,并使用console.log 获取响应,我认为您需要将$ 更改为jQuery('#test_div').html("some test" );
  • 那里没什么用处。

标签: ajax ruby-on-rails-3


【解决方案1】:

您的路线文件是什么样的?可以发在这里吗?执行 rake 路由并发布输出。

以下几点可能对您有所帮助:

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

编辑:再看一遍,我认为在respond_tolink_to 中的{...} 之后不需要()。看第三个链接。我认为您需要将页面放在一个部分并呈现它。它现在没有渲染,因为它的 render :layout =&gt; false

【讨论】:

  • 我数了两个以上,但 +2 更多!
  • 嗯...我迟到了将近 5 年,但我修正了“2”哈哈!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2016-03-02
  • 1970-01-01
相关资源
最近更新 更多