こんにちはRyujiです。
今日は昨日と引き続き、複数人で協力してできる数独のプログラムを作成していました。
今日は画面遷移と値の受け渡しについての実装です!
Contents
今日の進捗
まずは今日の進捗!
今日やったこと
- マイページのビュー作成
- 画面遷移のロジック、ルーティング作成
今日できなかったこと
- 非同期通信実装
- 問題データ差し込み
ビューは割とそのままです!
今日つまづいたとこ
deviseでサインインした後、今まではルートのパスに遷移させるアプリケーションしか作ってこなかったですが、今回は、マイページに飛ばしたと思いました。
しかし、マイページに飛ばすには課題があります
そうリダイレクトが書かれているはずのコントローラーはdeviseが内部に持っているということ。
今回は以下で解決しました。コントローラーにメソッドを定義します。
class ApplicationController < ActionController::Base
private
def after_sign_in_path_for(resource)
user_path(current_user)
end
end
これでうまくマイページに遷移しました!
ここで終わったら勿体無い
after_sign_in_path_forを調べてあーうまく行った行ったで終わってしまったら勿体無いですよね。
after_sign_in_path_forはなんなのかを調べました。
deviseのGithubでafter_sign_in_path_forを検索しました。
devise/lib/devise/controllers/helpers.rbに定義されているようですね。
他には以下のメソッドが使えるようです。
- after_sign_out_path_for
- sign_in_and_redirect
- devise_controller?
- devise_parameter_sanitizer
- allow_params_authentication!
- signed_in_root_path
- etc..
いつか時間があるときにそれぞれの使い方について確認したいですね!
まとめと反省
明日は非同期まで実装できたらいいですね!
1日1アプリになっていませんが、目標決めて継続して勉強できるようになってきました。
コメント