質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

1319閲覧

[Rails]ログインに失敗した際に元のmodalに戻りたい

ruby_nyumon

総合スコア93

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2015/10/19 07:42

セッションを利用して、ログインをする機能を実装しています。
ログインに成功した際には、ログイン成功画面に遷移して、失敗した際には、元のmodalの画面に戻したいのですが、できず困っております。

セッションはmodel化していないので、newせず、セッションに値を入れるのをcreateとしているのですが、newしていない場合、redirect_toを必ずしないといけないのでしょうか?

(参考)
http://stackoverflow.com/questions/10210956/ruby-on-rails-missing-template-error-when-i-am-pretty-sure-i-have-the-template

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
end

def destroy
session.delete(:user_id)
redirect_to root_path
end

def 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 %>

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問