2010-10-20 112 views
1

我正在使用Rails 3將下面的代碼加載到另一個頁面中。問題是,我想用:遠程=>真正的形式並使用AJAX在它(驗證)等在Rails中使用ajax渲染的部分3

$("#form_open").bind("ajax:complete", function(et, e){ 

    $("#form_area").html(e.responseText); 
    $("#form_open").html("Add contact information"); 

}); 

這似乎並不可能。爲什麼我不能在這種情況下使用ajax?

回答

2

如果我理解了這個問題,我認爲你想要做的就是讓ajax調用將當前頁面中的某個元素渲染到右側?

在目前看來:

<%= link_to 'Add Contact Info', add_contact_info_path, :remote => true %> 

很明顯,你必須得到add_contact_info_path路由到一個動作,該動作應該呈現一些js.erb。那js.erb應該輸出一些javascript來更新#form_area和#form_open。所以,你可以有(jQuery中)的add_contact_info.js.erb:

$('#form_area').html("<%= escape_javascript(render('somepartial')) %>"); 
$('#form_open').html("Add contact information"); 

這將使 「_somepartial.html.erb」 部分成任何元素具有ID = 'form_area'。