私のページで、ユーザーがログインしているかどうかを確認したいと思います。ログインしている場合は、ユーザーがあらゆる種類の操作(以下のような写真のアップロードなど)を実行できるようにします。ユーザーがログインしているかどうかを確認するために、この単純な関数をjqueryで記述しました。
$(document).ready(function(){
function checkLogin(callback){
<% if !current_user %>
$.colorbox({href:"/signup", width: "400px", height: "200px"});
var status = false;
callback(status)
<% end %>
}
ユーザーがログインしているかどうかを確認したい場合は、上記を次のように呼び出します。
$(".upload-pics").click(function(){
checkLogin(function(c){
if(c == false){
return false;
}
});
// open colorbox to upload pictures
$("a.upload-pics").colorbox();
})
問題は、checkLoginを呼び出してユーザーがログインしていない場合、「return false」が残りのコードの実行を停止しないと言うたびに、画像をアップロードするためのカラーボックスコードが実行されることです。本当に奇妙な部分は、「return false」が実行されることですが、それでも残りのコードの実行が停止することはありません。コードに問題がありますか?ありがとう。