新しいユーザーのフォームを含むポップアップ ボックスがあります。リモートで提出されます。@user.save の場合は、js ファイルを使用してリダイレクトします。そうでない場合は、ポップアップ ボックスを更新するだけです。更新は正常に機能しますが、リダイレクトは問題です。
これが私のコードです:
def create
@user = User.new(params[:user])
@user.email=@user.email.downcase
@user.guest=false
if @user.save
@status=true
session[:user_id] = @user.id
else
@status=false
end
respond_to do |format|
format.js{@status}
end
end
そして create.js.erb:
if(<%=@status %>) {
window.location.replace("<%= j root_url %>")
}else {
$('.new_user_popup').replaceWith("<%= j render :partial => 'users/form' %>");
$('.new_user_popup').fadeIn('fast');
}
そして、私を非常に困惑させる重要な瞬間が 1 つあります。else スクリプトの動作とは別に。 つまり、else 部分と @user.save を削除すると、期待どおりにリダイレクトされます。
どんな助けでも感謝します。