0

新しいユーザーのフォームを含むポップアップ ボックスがあります。リモートで提出されます。@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 を削除すると、期待どおりにリダイレクトされます。

どんな助けでも感謝します。

4

1 に答える 1