0

我正在使用 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 连接。可能是什么问题?

4

2 回答 2

1

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

RAILS_ROOT/config/routes.rb

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

然后你应该像这样用rails helper调用url

<%= link_to "time", ajax_time_path, :remote => true %>
于 2012-05-03T13:45:08.207 回答
0

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

于 2012-05-03T13:24:10.743 回答