2014-02-06 32 views
0

我正在嘗試爲link_to按鈕寫入ajax響應。該響應包含一個替代正在觸發的按鈕的按鈕。一切正常,除了新的按鈕沒有取代舊的按鈕。我已經觀看了關於ajax和jquery的railscasts插曲,在開始時展示了一個<%= j ...,以使軌道注入js兼容。儘管如此,有些東西不起作用。Rails - 使用rails注入的Ajax響應

響應正在處理中。如果我刪除第二個jQuery命令,第一個會被執行,但是在這兩個命令裏面,甚至不會執行第一個命令。

這裏是response.js.erb

$('#spanID').hide().after('<span>text</span>'); 

$('#buttonID').hide().after('<%= j link_to "Button text", course_enrolment_path(@course, user: user), 
            data: { confirm: "confirmation text" }, 
            method: "put", remote: true %>'); 

非常感謝您!

更新 好的,我在終端中發現了一個提示。 user變量無法加載...有沒有辦法通過format.js { render :action => 'response_file.js.erb'}變量?它似乎沒有從控制器獲取變量。

回答

0

好的,我已經找到了。控制器變量未加載,因爲當然,.js.erb文件未被命名爲更新方法。我只是需要額外預先加載控制器中的變量來顯示原始視圖,其中包含按鈕的變量。