2010-10-20 48 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'。