したがって、Rails 3.1 アプリがあり、ajax を使用してログインとログアウトを処理しています。一部のコードが重複しているため (フラッシュ通知の追加、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)
});
});