kobasaです(´ω`*)今日はちゃんと知識として定着させようと思ってコメントアウトでメモしたり、
わからない所を調べながら勉強してましたが全然進みませんね…
軽く流してる時の倍くらい時間がかかる。そして覚えてるかというと、微妙(´・ω・`)
今はまだ勉強がしんどいと感じないのが救いかな。
38日目の勉強内容
authenticate_user!メソッド:(オウセンティケイトユーザー!)
deviseのメソッドでapplication_controller.rbのbefore_actionに設定しておけば、
ログインしていないユーザーを強制的にログイン画面に遷移させることができる。
ログインしないと何も機能が使えないアプリを作成するときに使用すればいいと思われる。
Twitterなどログインしていなくても他人のツイートが見れるアプリには使用不可。
renderメソッド:
ビューファイルを指定して呼び出すことができるメソッド。
コントローラーでもビューでも使用できる。ビューでは一部テンプレートの呼び出しに使用していた。
redirect_toはルーティング→コントローラー→ビューと経由していくため、新たなリクエストを送信された時と同じ動きになる。
一方renderは新たにリクエストされることなく、そのままビューが表示される。
カリキュラムでは情報更新に失敗したときrenderでeditアクションを指定しているので、
更新失敗時に入力された内容が保持されたままビューが呼び出されている。?
普通に編集画面に遷移したときは現在のユーザー情報が入った状態になるが、
renderはルーティングを経由しないので更新失敗時に入力された情報のままになっているってこと?よくわかんない。
ちなみにアクションオプションの記述は省略できる。
render action: :edit が省略されていない記述方法。
コメント