所以我有我的 Rails 3.1 应用程序,我使用 ajax 来处理登录和注销。由于我有一些代码的重复(附加 Flash 通知,更新 div),我将代码移动到一个函数中,并从我的其他方法中调用该函数。如果我将代码从函数中取出并将其放入方法中,它工作正常,但在我将代码移入函数后,它不再做任何事情。
data.login 看起来像 :json => ( :login => true)
$(document).ready(function() {
function setNotice(data) {
var $flash = $('<div class="alert alert-success"><a class="close" data-dismiss="alert" href="#">x</a>'" + data.data.message + "'</div>');
$('#account').html(
if (data.login) {
data.email
} else {
"Account"
});
$('.alert').alert('close');
$('.row').prepend($flash);
}
$('form#sign_in').bind('ajax:success', function(e, data, status, xhr) {
console.log(data);
if(data.success) {
$('#user_login_box').html(data.content);
setNotice(data)
} else {
$('#status').html(data.data.message);
}
});
$('.logout').bind('click', function(e, data, status, xhr) {
setNotice(data)
});
});