繁体   English   中英

Rails 3:AJAX调用未使用link_to刷新div

[英]Rails 3: AJAX call not refreshing div with link_to

我正在使用Rails版本3.0.9和jquery。 问题是,当您单击链接时,div不会更新。 有两个动作:“显示”和“时间”。 初始位置-显示。 控制器代码为(ajax_controller.rb):

class AjaxController < ApplicationController
  respond_to :html, :js

  def show  
  end

  def time
  end
end

通过单击div中的链接应加载时间。

下一步代码(show.html.erb):

<h1>Ajax show</h1>
Click this link to show the current 
<%= link_to "time", :url=>{:action => "time"}, :remote => true%>.<br/>
<div id='time_div'>
</div>

另外,还有文件time.html.erb和time.js.erb。 遵循代码(time.js.erb):

$('#time_div').html('<%= escape_javascript(render :text => "The current time is #{Time.now.to_s}") %>');

但是什么也没发生。 jQuery的连接。 可能是什么问题?

您可能会遇到路线问题。 您的routes.rb中是否有类似的内容?

RAILS_ROOT / config / routes.rb

get '/time', :to => 'ajax_controller#time', :as => :ajax_time

然后您应该使用rails helper调用该网址

<%= link_to "time", ajax_time_path, :remote => true %>

您可以查看日志以查看是否确实渲染了time.js.erb。 可能会呈现HTML版本。 如果是这种情况,请删除HTML版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM