2011-07-05 78 views
0

我正在使用link_to遠程選項在rails 3上工作。在rails 3中使用link_to與遠程選項的問題

這是我的代碼結構。

檢視/衝頭/ report.html.erb:


<%= link_to 'Punch report', punchreport_punch_index_path, :remote => true%> 
<div id="punchform"> </div> 

檢視/衝頭/ punchreport.js.erb:


$("#punchform").html("<%= escape_javascript(render(:partial => "reportform"))%>"); 

和創建內部

一種形式

查看/ punch/_reportform.html.erb

和控制器:

控制器/ punch_controller.rb


def report 

end 

def punchreport 
    respond_to do |format| 
    format.html { render report_punch_index_path } 
    format.js 
    end 
end 

注:punchreport_punch_index_path:/衝牀/ punchreport

report_punch_index_path  : /punch/report 

我不想讓Ajax請求工作。而不是那個,它重定向頁面。

任何幫助 預先感謝

回答

0

聽起來像你:遠程=>真沒有被一個unobstrusive JavaScript事件處理程序處理...

你有你的項目叫做jQuery的軌?它應該在「data-remote」屬性上設置一個處理程序。你能找到它併發回你在那裏的東西嗎?

+0

我使用rails 3.0.9,並且應用程序中包含rails.js文件。我得到了如下輸出: 模板丟失 缺少模板/ punch/punchreport {:locale => [:en,:en],:formats => [:html],:handlers => [:rxml, :ERB,:助洗劑,:RJS,:RHTML]} – senling

+0

包含的文件是: <%= javascript_include_tag:默認%> <%= javascript_include_tag「http://ajax.googleapis.com/ajax/libs/jquery /1.4.2/jquery.min.js「,」jquery.rails.js「%> <%= javascript_include_tag'http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery- ui.min.js'%> <%= csrf_meta_tag%> – senling

+0

您可以在jquery.rails.js文件中找到某種「數據遠程」嗎?你應該是這樣的: $('a [data-remote],input [data-remote]')。live('click',function(e){(this).callRemote(); e.preventDefault(); }); –