2012-05-03 2 views
0

레일 버전 3.0.9와 jquery를 사용하고 있습니다. 문제는 링크를 클릭 할 때 div가 업데이트되지 않는다는 것입니다. "표시"와 "시간"의 두 가지 동작이 있습니다. 초기 위치 - 표시.레일 3 : AJAX 호출로 link_to가없는 div를 새로 고침

class AjaxController < ApplicationController 
    respond_to :html, :js 

    def show 
    end 

    def time 
    end 
end 

사업부에있는 링크를 클릭하면 시간을로드해야합니다 컨트롤러 코드 (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/설정/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 버전을 제거하십시오.

관련 문제