Rails5.1.3でWebアプリケーション制作の勉強をしています。
Registerテーブルの今月のデータが ”在籍” でない場合、out.html.erbを読み込むようにしたいのですが
AbstractController::DoubleRenderErrorが発生してしまい解消できずに困っております。
renderが複数回呼び出されているので and return を追記しましょうと指摘されているのですが、それを記述しても解消されませんでした。
(コードの記述順を変えたら動いた。)-----自己解決済み。
def create time = Time.zone.now month = time.month @form = Customer::LoginForm.new(customer_login) if @form.email.present? mail = Customer.find_by(email_for_index: @form.email.downcase) if mail.present? else flash.now.alert = 'メールアドレスが正しくありません。' render action: 'new' and return end else flash.now.alert = 'メールアドレスを入力して下さい。' render action: 'new' and return end if @form.nickname.present? nickname = Customer.find_by(nickname: @form.nickname) if nickname.present? else flash.now.alert = 'ニックネームが正しくありません。' render action: 'new' and return end else flash.now.alert = 'ニックネームを入力して下さい。' render action: 'new' and return end register = Register.find_by(customer_id: mail.id) data = register.attributes abc = data["rg_#{month}"] if Customer::Authenticator.new(mail).authenticate(@form.password) if @form.remember_me? cookies.permanent.signed[:customer_id] = mail.id else cookies.delete(:customer_id) session[:customer_id] = mail.id end flash.notice = 'ログインしました。' redirect_to :customer_root else flash.now.alert = 'パスワードを正しく入力してください。' render action: 'new' and return end register = Register.find_by(customer_id: mail.id) data = register.attributes abc = data["rg_#{month}"] if abc = "在籍” else flash.now.alert = '退会しています。' render action: 'out' and return ------ここでエラーが発生。 end end
自己解決できましたがエラーの発生したコードを追記しました。
回答2件
あなたの回答
tips
プレビュー