0
が存在するように/ else文は、それを処理する場合、私は、ユーザーがper_quiz
を完了していない場合per_quiz#new
ページにユーザーを指示するために、私のコントローラでは、次のif
文を持っていますが、per_quiz#edit
ページへ彼らは1をとっている:モデルは `Nil`あるが、それは
def new
@per_quiz = current_user.build_per_quiz
if current_user.per_quiz != nil
redirect_to edit_per_quiz_path(current_user.per_quiz)
end
end
私は私console
によって言うことができるように、per_quiz
を取られていないユーザーとしてlocalhost
の午前:
[2] pry(main)> User.first.per_quiz
User Load (0.3ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
PerQuiz Load (0.2ms) SELECT "per_quizzes".* FROM "per_quizzes" WHERE "per_quizzes"."user_id" = ? LIMIT 1 [["user_id", 1]]
=> nil
No route matches {:action=>"edit", :controller=>"per_quizzes", :id=>nil} missing required keys: [:id]
これはのredirect_to
行に呼び出された:私は、私は(私が思う)というエラーが出るのページにアクセスしようとしたとき、私はif
文の間違ったフォークに向けられてるようしかし、見えますコントローラ。
誰でもここで起こっていることを見て、それがグリッチになっているのを見ることはできますか?
試してみてくださいcurrent_user.per_quiz.nil? –
@GokulM、いいえ、それは私に同じエラーを与えます。私はさまざまなフレーズを試しました... – Liz
'puts current_user.per_quiz'が何を表示するか試してみてください。 –