我正在使用基於JQuery的文件上傳插件將圖像文件直接上傳到S3。該插件工作正常,在模型中實現的上傳代碼也很實用。我的問題是文件完成其快速旅程後會發生什麼。Javascript中的Rails標籤呈現
該插件接受一個回調'onLoad',該回調在上傳完成後執行。爲了回調起作用,所需要的只是一個Javascript函數,你知道,它會做任何事情。好的。我想要的是回調加載一個部分,將替換上傳形式與圖像的顯示。因此,這裏是我如何指定回調:
onLoad: function (evt, files, index, xhr, handler) {
(document).ready(function($) {
$('.container').html('<%= escape_javascript(render :partial => "pictures/picture_editor", :locals => { :picture => @picture }, :layout => false) %>')});
}
那麼 - 我不想要的,當然,是針對「渲染」標籤前的回調渲染,但是這確實是什麼發生。加載頁面後,立即出現錯誤,因爲Rails正在嘗試呈現該標記,而不等待執行Javascript或其他任何內容 - Rails在視圖中看到標記,並且想要呈現它。我試着研究一個答案,我覺得我必須丟失的東西痛苦顯而易見 - 但我怎麼加載部分從jQuery回調,如果我不能在視圖中指定渲染標記?我錯過了什麼?
如果答案非常明顯,我很抱歉。
此javascript是否包含在您的js文件或rjs tempalte中? – raidfive 2011-01-30 04:47:58
它在部分被模板加載,但我想把它放在一個js文件中就沒有問題。 – Lockjaw 2011-01-30 05:06:38