メソッドのインスタンス変数@quiz
にアクセスできません。インスタンス変数を別のメソッドに渡すことができません
new
メソッドに対応するビューで@quiz
にアクセスする必要があります。
@edit私はもう一度新しい方法で@quiz
によって問題を回避しようとしましたが、何らかの理由でparams[:session][:test_password]
が空です。このコントローラで
class QuizzesController < ApplicationController
include UsersHelper
before_action :logged_in_user
def password_check
end
def forward
find_quiz
if @quiz
redirect_to new_quiz_path
else
redirect_to root_url
flash[:danger] = t(:invalid_test_password)
end
end
def new
@score = Score.new
end
private
def find_quiz
@quiz = Test.find_by(password: params[:session][:test_password])
end
end
ルート:あなたがユーザーをリダイレクトする場合
quiz_password GET (/:locale)/quiz_password(.:format) quizzes#password_check {:locale=>/pl|en/}
POST (/:locale)/quiz_password(.:format) quizzes#forward {:locale=>/pl|en/}
quiz GET (/:locale)/quiz(.:format) quizzes#new {:locale=>/pl|en/}
あなたの質問は不明です。実際には、あなたは質問することさえしていない、あなたは単に声明を出して、いくつかのコードを示しているだけです。あなたの質問は何ですか?間違いはありますか?はいの場合、それは何ですか?あなたは間違った出力を得ますか?はいの場合、それは何ですか、そして正しい出力は何ですか? –