1

ログインフォームでパラメーターリモートを使用してAJAXログインフォームを作成しようとしました。しかし、ログイン後、ユーザーをホームページにリダイレクトできません。しかし、リダイレクトは機能しません。以下の私のコード:

  class SessionsController < ApplicationController
   def create
    user = User.find_by_login(params[:login])
    respond_to do |format|
        if user and user.authenticate(params[:password])
            session[:user_id] = user.id
        format.html { redirect_to index_path }
        format.json { head :no_content }
        format.js { redirect_to index_path }
        else
        format.html { redirect_to login_url, alert: "Wrong login or password!" }
        format.json {render json: "Wrong login or password", status: :unprocessable_entity}
        format.js
      end
    end
  end

<!-- app/view/session/new.html.erb -->
<%= form_tag(nil, remote: true) do %>
    <%= text_field_tag :login, params[:login] %>
    <%= password_field_tag :password, params[:password] %>
    <%= submit_tag "Login" %>
<% end %>

<!-- app/view/session/create.js.erb -->
$(document).window.location.replace("http://hardrate.net");
4

1 に答える 1

2

この行を変更します。

format.js { redirect_to index_path }

為に

format.js

編集:

また変更

$(document).window.location.replace("http://hardrate.net");

為に

window.location.replace("http://hardrate.net");

また

window.location.href = "http://hardrate.net";
于 2013-11-11T21:59:08.870 に答える