2012-05-03 11 views
0

私はRailsバージョン3.0.9とjqueryを使用しています。 問題は、リンクをクリックするとdivが更新されないことです。 「表示」と「時間」の2つのアクションがあります。最初の位置 - 表示。Rails 3:AJAXコールでdivをlink_toでリフレッシュしない

class AjaxController < ApplicationController 
    respond_to :html, :js 

    def show 
    end 

    def time 
    end 
end 

のdiv内のリンクをクリックすることで、時間をロードする必要があります。 コントローラー・コードは(ajax_controller.rbが)でした。

次のコード(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 connected。 何が問題なのでしょうか?

+0

のようにレールのヘルパーとURLを呼び出す必要がありますか? rails_ujsが含まれていますか? – CambridgeMike

答えて

1

ルートに問題がある可能性があります。あなたはあなたのルートにこのようなものを持っていますか?

RAILS_ROOT/configに/ routes.rbを

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

、その後、あなたは/ showアクションをロードするときに、ページ上でレンダリングされる何この

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

ログを見ると、time.js.erbが実際にレンダリングされているかどうかを確認できます。代わりにHTMLバージョンがレンダリングされる可能性があります。その場合は、HTMLバージョンを削除してください。

関連する問題