セッションを利用して、ログインをする機能を実装しています。
ログインに成功した際には、ログイン成功画面に遷移して、失敗した際には、元のmodalの画面に戻したいのですが、できず困っております。
セッションはmodel化していないので、newせず、セッションに値を入れるのをcreateとしているのですが、newしていない場合、redirect_toを必ずしないといけないのでしょうか?
redirect_toしないと、必ず、ActionView::MissingTemplate (Missing template sessions/createというエラーが出ます。
やりたいこととしては、controllerの処理の後に、create.js.erbで受けて、画面遷移を行いたいです。ただ、controller側でmodalに戻す方法があるなら、そちらでも構いません。
・controller
class SessionsController < ApplicationController
def create
@user = User.authenticate(params[:email],params[:password])
if @user
session[:user_id] = @user.id
else
end
enddef destroy
session.delete(:user_id)
redirect_to root_path
enddef login
end
end
・crete.js.erb
<% if @user.errors.blank? then %>
$("#userModal").html("<%= escape_javascript(render 'save') %>")
<% else %>
$("#errorMessage").html("<%= escape_javascript(render 'errors',obj:@user) %>")
<% end %>
よろしくお願いします。
あなたの回答
tips
プレビュー