🎓 Railsチュヌトリアル解説動画の芋所たずめ

  1. この゚ントリヌをはおなブックマヌクに远加


Railsチュヌトリアル解説動画は玄36時間以䞊の倧ボリュヌムずなっおおり、呚終わっおこれから呚目、呚目ずいう方や、他蚀語から孊ばれおきた方にも圹立぀情報がたくさんありたす。動画は授業圢匏になっおおり、䜕床も繰り返し芋るこずが可胜です。テキスト版の予習・埩習に、自分奜みの䜿い方で理解を深めるのにきっず圹立぀はずです。

本蚘事は第4版 (Rails 5.1 察応) の玹介蚘事です。第6版 (Rails 6.0 察応) の芋所に぀いおは2020幎12月の蚘事をご参照ください ✅

もちろん始めから党おを芋おもらうのが䞀番なのですが、たずはその䞭で 「おすすめの解説箇所」を厳遞しおみたので、30分の無料芖聎を有効に䜿っおいただくのに、良ければ参考にしおみおください。

目次

第章〜第章
第章〜第章
第章〜第章
第章
第章〜第章
第章
第章
最埌に

Railsっお䜕だろう

自分が今から孊ぶものが䞖の䞭ではどのように利甚されおいるのか、どんな特城があるかを知っおおくのは倧事なこずだず思いたす。そもそもRailsずはどういうものなんだろう Railsを䜿っおどんなサヌビスが䜜れるようになるのだろうずいう疑問を抱いおいる方に是非芋おもらいたいのが、「第章 埌線 .オマケ」の郚分です。

Ruby/Railsの良い点・悪い点

Railsを利甚する䞊で、知っおおいたほうがいいこずがギュッず詰たっおいるので、これからRailsを孊ぶずいう方に是非知っおおいお欲しいずころです。

孊習時間ず生産性

🔌Railsを䜿いこなせるようになるには、Railsチュヌトリアル週した皋床では皋遠いよ、ずいうのが分かる図。様々なデヌタず比范しおいお面癜いし、奥が深いです。

Railsチュヌトリアルを始める

今回初めおRailsチュヌトリアルに挑戊するずいう方に絶察芋お欲しいず思うずころが 「第章 前線 Railsチュヌトリアルの進め方」です。特に、. 前提知識 〜を芋おおくず、今埌のRailsチュヌトリアル孊習に圹立぀こずがたくさん出おきたす。

倧事な心構え

初心者に向けお心構えや、モチベヌションを保぀為の方法など、これからの孊習方法の参考になる話は興味深いです。Ruby / Rails の構造に぀いおも勉匷になりたす。「rbenv」、䜿いこなそう

Gitを分かりやすくむメヌゞする

Railsチュヌトリアルを進める䞊で 「 Git 」に぀たづく方はかなり倚いず思いたす。その「Git」に぀いお䞁寧に説明されおいるのが 「第章 埌線 . Git によるバヌゞョン管理」です。ゲヌムのセヌブ機胜に䟋えお分かりやすく説明されおいたす。

Gitによるバヌゞョン管理

初めおだずよく分からない郚分も行ず぀䞁寧に教えおくれたす。

git-logタヌミナル

実際に安川さんの操䜜するタヌミナルを芋ながら孊習できるので、ずおも分かりやすいです。有名なGitHubなどの説明もありたす。その流れで「Heroku」に぀いおの解説もあるので、本番環境に぀いおスムヌズに理解できるようになっおいたす。本番環境にあげるための「Git」なんですね 

MVCを理解する

「MVC」の流れを理解したい方は 「第章 前線 . MVCの挙動に觊れおみる」を芋おみたしょう。

Railsのルヌティング

MVC 党䜓の流れをスラむド付きで説明しおくれお、Rails ルヌティングに぀いおの党䜓像に぀いおも分かりたす。この䞀通りの流れをrailsチュヌトリアルで少しず぀やっおいくので、初めおの方はこの党おを今の段階では理解しおいなくおも倧䞈倫です。MVCの党䜓像を理解したい方や、Railsに぀いおざっず埩習したい方におすすめです。

テスト䜕のためにするの

テストなんお䞀人で勉匷しおるず䜿う堎面はあたり出おこないし、そもそもテストっお必芁なのずお思いの方は 「第章 埌線 . TDDの玹介ずたずめ」からの話を䞀床聞いおみるず良いず思いたす。

テストは先に曞くべき埌がいいのなどが分かりやすく解説されおいたす。

テストはい぀行う

これからRailsを䜿っおお仕事をしたいずいう方は「テスト」は必須になる知識だず思うので芁チェックの箇所です。

Rubyに぀いお知る

Rubyっお他の蚀語ずどう違うのだろう Rubyの特城を知っお䞊手に䜿いこなしたいずいう方には 「第章 前線 . Rubyの特城」から芋るのがおすすめです。

Rubyの特城

安川さんの説明だずコヌドが「擬人化」されおいお面癜いので、テキストだけだず眠くなっおしたいそうな話でも頭にすっず入っおきたす。Pythonずの特城の違いの話も参考になりたすよ。Ruby は人間に寄り添った自由な蚀語だなず感じたした。曎に深い説明があるのが 「第章 埌線」です。

Ruby/Railsにおけるクラス階局

凊理速床を蚈算しお比べたり、結構深くRubyに぀いお知るこずができるので、䜕ずなくしか理解しおいなかった郚分が腑に萜ちるかもしれないですね。

デヌタベヌスを理解する

デヌタベヌスは、これからの章を理解しおいくのに非垞に倧切な郚分なので 「章 前線 . Userモデルを生成する」から、集䞭できる時にしっかり芋るず良いです。マむグレヌションファむルの扱い方などに぀いおも詳しい説明がありたす。

Userモデル

説明を聞くず、Active Record を䜿うずデヌタベヌスずのやりずりが、こんなに楜になるんだずいうこずが分かりたす。

䞀意性の問題

興味深いのが、「章 埌線 . 䞀意性の問題 」のずころです。ナヌザヌが同時に登録されないように回避させる方法の説明は非垞に勉匷になりたす。

パスワヌドの扱い方のお䜜法も孊べたす。䟿利なものがたくさんある Rails 凄いですね。ここでは、「正芏衚珟」にも觊れられたす。初めおの方には難しく感じられる郚分だず思いたすが、動画を芋ながらなんずなくでも理解出来るず嬉しいですね。

倉数の皮類

ロヌカル倉数ずむンスタンス倉数の違い、䟋えば、user ず @user の違い、皆さん分かりたすかそれを芋事に解決しおくれるのが 「章 前線 . 倉数を定矩する」〜 です。

倉数を定矩する

短い説明で分かりやすく、倉数のずころは30分以内で聞けたす。

byebug

章では HTTP リク゚ストに぀いおや、if文の䜿い分け前眮・埌眮、デバックの䜿い方、RESTful にコヌドを䜜るポむントやそのメリットなど、勉匷になるこずが盛りだくさんです。自分の気になるずころがあれば是非、芗いおみお䞋さい。

form_for の䞭身

Railsは色々䟿利なのですが、formの䞭身はちゃんずHTMLで理解するこずが倧事です。form_for の䞭身の確認方法が分かる 「章 埌半 . ゚ラヌメッセヌゞを衚瀺 」の埌半郚分44:50〜が参考になりたす。

ディベロッパヌツヌル

ディベロッパヌツヌルを䜿っおHTML化したものを芋ながら、分からないものは曎に調べたりしおみるずかなり理解が深たるず思いたす。Railsで曞いたものが、どのようにHTMLに倉換されるのかが分かるず嬉しいですね。

Sessions に぀いお知る

Sessions も難しく感じる方が倚いず思いたす。「章 前線 . Sessions リ゜ヌスに぀いお」で詳しく芋おみたしょう。

Sessionsリ゜ヌス

ログむンや、ログアりトは頻繁に行われるこずなので、毎回デヌタベヌスにアクセスするよりもいい方法はありそう 🀔ずいうずころからの話、玍埗できたす。これが分かれば「Sessions」に぀いお説明できるようになれたすね。

よく知られおいる攻撃の手口

たた 「章 . セッション有効期限」や、「. 攻撃手口の玹介」の説明も短くお分かりやすいのでおすすめです。サヌビスごずに適切な期限を蚭けおいなければならないこずや、どのような攻撃の手口があるのか勉匷になりたす。

Helper はこうやっお䜿う

「章 前線 . コントロヌラでヘルパヌを䜿う 」1:20:08〜を芋るず、Helper に぀いおの説明が短くたずたっおいたす。

underfined_method_error

解説動画内では、スムヌズに゚ラヌなくすんなり進んでいくだけ、ずいう蚳ではありたせん。実際に゚ラヌ画面が出おきお、そこから安川さんが解決しおいくのを芋おいくのが結構勉匷になりたす。ここでは、Helper がうたく読み蟌たれおいなかったので、それを解決しながらの実装です。

おたけ
この埌、Bootstrap のJavaScript がうたく動かない、ずいうトラブルに芋舞われたす。が、次の章埌線の冒頭でちゃんず解決されおるのでご安心を (どう解決したかもこれたた勉匷になりたす。)

Ruby「&&」ずは

プログラミングっお、ずりあえず同じ動きにするだけなら䜕通りも曞き方がありたすが、Rubyだず「if」文がこんなにシンプルに曞けちゃうぞ、ず関心させられるのが 「章 前線 . ナヌザヌの怜玢ず認蚌」32:25〜 からの説明です。

ナヌザヌの怜玢ず怜蚌

🔌結構難しいテクニックが䜿われおいるコヌドなのです。

ナヌザヌの怜玢ず怜蚌を詳しく

䞀から噛み砕いお説明しおくれるので、テキストだけじゃ分からないな ずいう方は、䞀床芋おみるず良さそうです。

Ruby 自己代入挔算子

current_userメ゜ッド

この蚘号を䜿ったコヌドも、戞惑う方は倚いず思いたす。これを䞁寧に分解しお説明しおくれるのが 「章 前線 . session の䜿い方」の終わり 1:05:36〜 からです。

current_userメ゜ッド解説

これは先ほど䞊で玹介したRuby「&&」ずはを知っおいるずより分かりやすいず思うので、そちらず合わせお芗いおみるずいいかず思いたす。こういう蚘法を取埗できるず、コンピュヌタに無駄な凊理をさせない、䞀歩進んだプログラミングができそうですね。

クラス or むンスタンスメ゜ッド

解説動画には、各章の終わりたたは安川さんが蚭けたほうが良いず思われる箇所に質問コヌナヌがあり、動画内の生埒さんが良い質問を投げかけおくれたす。これは Web テキスト版には無い内容で、動画を芋ないず知れない様々な解説がありたす。

「章 埌線 . 質問コヌナヌ」では、メ゜ッドの皮類に぀いお、生埒さんからの回答に答えながら分かりやすい説明がありたす。

メ゜ッドの皮類解説

䜕気なく䜿っおいるメ゜ッドが「こういうのがむンスタンスたたはクラスメ゜ッドだったのか」ず気付かされるず思いたす。なんずなくで䜿っおいるよりも、ちゃんず理解しお䜿えるず嬉しくなりたすね。

Cookies を䜿った認蚌の仕組み

Cookie を利甚しお認蚌を行うのは結構耇雑な内容になっおいお、理解に苊しむ方も倚いず思いたす。「章 . ログむン状態の保持」を芋おもらうず、セッションずクッキヌの違いに぀いお分かりやすく説明されおいたす。

Log_in完成予想図

🔌この「Remember me」の郚分ですね。ログむン状態をどのように保持するのかずいうずころです。

仮想敵カラム

ログむン状態の保持をするには 「仮想的カラム」ずいうものを自分で実装しおいかなければなりたせん。その䞭身を知れるのが、25:09〜からの説明です。䞀時的に保存はするけどデヌタベヌスには反映されない仕組みを䜜るんですね。Rubyの機胜でそのセットは attr_accessor ずいうもので甚意されおいるんだぞずいう説明です。䟿利でびっくりですね。

章の䞭でも特にしっかり理解するべきだず感じたのは 「 . ログむン状態の認蚌」です。

ログむン状態の認蚌

この認蚌の流れはこの先も䜕床か出おくるので、ここを理解できるのずできないのずでは、今埌倧きな差が生たれおくるはずです。䜕床も理解できるたで繰り返し芋るず効果的だず思いたす。

Ruby 耇雑な if 文

cookieを䜿った認蚌により、current_user メ゜ッドを倉化させる堎面です。

cookieに察応するナヌザヌを返すメ゜ッド

if (user_id = session[:user_id])

ここが比范ではなく代入ず蚀われおおり、初孊者には玛らわしいですね ><。そこで 「章 . もう䞀床ログむンを芁求する」から芋おみたしょう。

cookieに察応するナヌザヌを返すメ゜ッド解説

现かく分解しお、詳しく説明しおくれるのでずおも助かりたす。

テストで掻躍 「raise」

どうやらこの raise ずいうものは、テストの時に䟿利なテクニックらしいです。これを詳しく解説しおいるのが 「章 . raise を入れるテクニック」です。

raise解説

raise は問答無甚であるものを発生させるコヌドのようですね。

raiseの䜿い方

🔌raise を倖すずどうなるのか を、具䜓的にどうやっお䜿うのか分かりやすく解説されおいたす。よく話を聞いおいくず raise を䜿わなくおも怜知しおくれる䟿利なサヌビスもある そういった話も勉匷になるず思いたす。テスト網矅率に぀いおの話も興味深いです。

private メ゜ッド ずは

コントロヌラ内で芋かける private ずいう宣蚀。これを぀けるず䜕が起こるのかずいう疑問に短くズバッず答えおくれおいるずころが 「章 前線 . private メ゜ッドに぀いお」です。

privateメ゜ッド

これを曞かなくおも゚ラヌにはならない、けれども曞く。その理由がここで知れるず思いたす。3分ほどの説明で玍埗できる説明が聞けるのでおすすめです。

「章 前線 . before_action に぀いお 」1:01:30〜からも private を䜿うずきのポむントに぀いお説明がありたす。

privateメ゜ッドを䜿うポむント

こちらも短い時間で聞けるので、ぜひご芧ください。

HTTPリク゚スト patch ず delete

edit で䜿うフォヌムは、章でやった「登録フォヌム」ずほが同じです。違うずころは、HTMLの form タグ内にあるメ゜ッド。ここも色々ず䞍思議なこずがありたす。ここを詳しく説明しおくれおいるのが 「章 前線 . HTMLずHTML 」です。

patchメ゜ッド

ここも分ほどで聞ける短い説明なので、HTTPリク゚ストに぀いお勉匷したこずがない方は特に聞いおみるずいいず思いたす。patch メ゜ッドや、delete メ゜ッドに぀いお、HTTPリク゚ストの歎史から説明されおいるので、分かるず楜しいずころだず思いたす。Web の歎史に興味が湧いおきたら、曎に自分で調べおみるず楜しそうですね😁ブラりザの歎史なども調べおみるず面癜そうです。

before フィルタヌに぀いお

ログむンしおいないのに、他の人の情報を線集できちゃうような Web サヌビスは危険ですよね。ちゃんず、ログむンをしおいる本人の情報だけを線集できるように実装しなければいけたせん。「章 前線 . 認可に぀いお 」では beforeフィルタヌをかけおその危険から守っおあげる方法が分かりやすく解説されおいたす。

before_action

メ゜ッドを呌び出すずきの曞き方のポむントや、なぜ Ruby では「スネヌクケヌス」アンダヌバヌを䜿甚した曞き方を䜿うこずが慣習ずされおいるのかなどの豆知識も含たれおいお、勉匷になりたす。

さらに 「. 正しいナヌザヌか確認する」1:14:00〜 では、before アクションを曞く順番に぀いおの解説があるので、ここも合わせおチェックしおみるず良いず思いたす。

before_action順番

before_action が実行される順番を理解するず、なぜこのコヌドでいいのかが明確に分かるようになるず思いたす。

フレンドリヌフォワヌディング

章のこの郚分です。
フレンドリヌフォワヌディング

テキストだけだず分かりずらいかもしれないので、こういう所だけ動画で芋おおくずいうのも有効な䜿い方かもしれないですね。「章前線 . 正しいナヌザヌか確認する」1:19:00〜 に、再珟した動画がありたす。

䞍芪切なリダむレクト

動画で芋るず、同じずころをナヌザヌさんにクリックさせるのは䞍芪切だずいう事が感芚的に分かりやすく理解できるず思いたす。こういうナヌザヌを配慮した现かい実装は、オリゞナルアプリを開発する方にも参考になりそうですね。

段階のリファクタリング

ナヌザヌの䞀芧衚瀺するビュヌのリファクタリングです。
パヌシャルのリファクタリング

<%= render @users %>

たったこれだけでナヌザヌが䞀芧衚瀺されおいくのですが、実にシンプルです 。なぜこんなシンプルに曞けるのかをきちんず理解しないず混乱しおしたう郚分だず思うので 「章 埌線 . リファクタリングする」からの解説を聞いおみたしょう。

リファクタリング解説

段階のリファクタリングを、順序立おお解説しおくれるので分かりやすいです。Rails では「デフォルト倀」を理解するのがずおも倧切です。コヌドがシンプルになればなるほど、その裏ではどういう動きがあるのかを理解する必芁があるので、ぜひこの解説を聞いお理解を深めおもらえればず思いたす。

Ruby の「!」ず Rails の「!」は別物

Railsチュヌトリアルで床々出おくる「!」メ゜ッド。

Railsにおける「!」

「章 埌線 . Faker Gem を䜿う」で、db/seeds.rb にサンプルナヌザヌを䜜るコヌドで出おきた時は「䟋倖を出すため」に䜿われおいたしたね。
Ruby の「!」は、Railsにおける「!」ずは党く関係の無いもので 「砎壊的メ゜ッド」ず呌ばれおいるんですね。その違いを分かりやすく説明しおくれおいる郚分が 「章 埌線 」の質問コヌナヌです。

砎壊的メ゜ッド解説

同じ「!」でも、Rails ず Ruby、それぞれ違う意味があっおややこしいですね。知らないず混乱しおしたいそうです。

メヌル認蚌の仕組み

『認蚌』は Railsチュヌトリアル内でこれたで䜕床か行なっおきたした。今回はメヌル機胜を䜿っおの認蚌です。

アカりント有効化の流れ

倧䜓の流れは今たでず同じなのですが 「章 前線 . メヌル認蚌の仕組み」〜 でスラむドを芋ながらの説明を聞いお、確認しながら進めるず良さそうです。

章からはこれたでの基瀎的な内容を掻かした応甚的なものになっおいお、章たでを理解しおいるのが前提になっおいたす。難しいず感じる時は、自分が玍埗いくたで埩習するのも䞀぀の方法かなず思いたす。説明を聞いおもよくわからない堎合は、前回の認蚌の理解ができおいない可胜性があるので「章 埌線 . パスワヌドの実装」、「章 . ログむン状態の認蚌」を順番に振り返っお芋るず良さそうです。

Actionメヌラヌ

Action Mailer の正䜓に぀いおの解説 「章 前線 . Action Mailer の実態ず実装 」も興味深いのでおすすめです。

create ず save の違い

「コヌルバック凊理」の時の、before_save ず before_create の違いです。このふた぀の違い説明できたすか

before_save,before_cretate

「章 前線 . メ゜ッド参照甚のメ゜ッドを䜿う」のずころを芋おみるず、二぀の違いに぀いお明確に説明されおいたす。现かい所なのですが、こういう所䞀぀䞀぀をきちんず理解できるず気持ちよく進めるこずができるず思いたす。

attr_accessor

attr_accessor がわからないずいう方はもう䞀床 Cookies を䜿った認蚌の仕組みを埩習したしょう。

メタプログラミングに觊れる

章では、メタプログラミングずいうものに觊れられおいたす。

メタプログラミング

テキストだけで芋るずなんだか難しそうに思えたすね 😭
「章 埌線 . 認蚌情報を取埗ず比范 」〜 では「なぜ、メタプログラミングをするのか」ずいうずころから説明があり、玍埗できる解説がありたす。

authenticated?コピペ実装

🔌コピペ実装、これはDRYずは蚀えたせんね 。どうすれば抜象化できるのか

sendメ゜ッド

そこで、Ruby の「send」メ゜ッドの玹介です。文字列を䜿えるようになるず、うたくリファクタリングしながらDRYに出来そうです。Railsチュヌトリアル内ではうたく実装できるように蚭蚈されおいたけど、実際に䞀から開発しおこの技を䜿えるのは凄い事だぞ、ずいう解説も面癜いです。蚭蚈は倧事です

テストで䟿利な「assigns」

章、ナヌザヌ登録のテストに、メヌル認蚌のアカりント有効化を远加するずころで出おくる assignsメ゜ッド。章の挔習問題でも出おきおいたした。

assignsメ゜ッド挔習問題

ですが、やはりテキストだけでは理解しづらい方もいるず思うので、解説動画の 「章 埌線 . assigns メ゜ッド 」を芋おみたしょう。スラむド付きで説明されおいたす。

assigns質問コヌナヌ

たた、 「章 埌線 . たずめず質問コヌナヌ 」でも質問者さんから assigns メ゜ッドに぀いおの質問があり、どういう堎合に䜿甚するのかずいった解説が聞けたす。どちらも短い時間で聞けるので、知っおいるず䟿利な assigns、気になる方はぜひ芗いおみおください。

beforeフィルタヌでリファクタリング

章のパスワヌドの再蚭定を実装する倧事なコヌドの郚分なのですが、コピペだけで進めおいたら絶察に理解できないずころなので、しっかりず孊習するべきずころです。「章 埌線 . パスワヌドの曎新〜 . before_filter のもう䞀぀の䜿い方」では、テキスト版では觊れられおいない解説が盛りだくさんです。

get_user

🔌フィルタヌらしくない䜿い方に芋えたすが、Railsの䞭では結構䜿われる手法だそうです。

䞀芋わかりづらいリファクタリング

🔌edit アクションは空なのに editフォヌムを芋るず@userが宣蚀されおいるこれは分かりづらいかも の堎面。DRYに曞くのはもちろん倧事だけど、分かりづらくなるなら本末転倒かもしれない ず、色々ず考えさせられる郚分でした。興味深い内容なので、オススメの箇所です。

Ruby 「䞍等号を䜿った時間」の読み方

章 User モデルにパスワヌド再蚭定甚メ゜ッドを远加する堎面です。やりたい事は、パスワヌド再蚭定の期限を蚭定しお、2時間以䞊パスワヌドが再蚭定されなかった堎合は期限切れにする事ですね。

䞍等号を䜿った時間

テキストでも説明があるのですが、時間の䞍等号は、なかなか理解が難しいですね。難しいず感じられる方は 「章 埌線 6. パスワヌド曎新぀の凊理 」のスラむドをみながら説明を聞いおみるず良さそうです。

おたけ

# 時刻の挔算
# 2.hours.since(reset_sent_at).past?
# の方が読みやすそう

2.hours.since(3.hours.ago).past?
# => true
2.hours.since(1.hours.ago).past?
# => false

🔌瀟内で玹介しおもらったコヌドを掲茉しおおきたす✚こんな颚にも曞けるんですね。(@hanachin_ さんありがずうございたした。)

DB蚭蚈モデリングを䜓隓する

章の Micropost モデルを䜜るずころです。

Micropostデヌタモデル

🔌衚を芋お、この通りにマむグレヌションファむルを䜜成しおいけばいいのは分かる 。でも、どうやっおカラムの皮類を䜜るのか決めおいるんだろう🀔テキスト版では「型」の説明に留たっおいたすが、解説動画 「章 前線 . Micropostの実装の進め方 」ではモック画面を芋ながら、どんな颚に远加するカラムを決めおいくのか芋れるようになっおいたす。

Micropostをモデリングする

どの情報をDBに保存すべきで、どの情報はいらないのかを䞀緒に考えおいくこずができたす。
い぀かは自分で䜕か䜜りたいず思われおいる方がほずんどだず思うのでモデリングができるず可胜性がグンず広がりそうですね。

Ruby「->」この矢印は䜕だ

章のマむクロポストを特定の順序で取埗したいの堎面です。default_scope ずいうものを䜿っお DB さんにワガママを聞いおもらうずころはテキスト版の説明でも分かりやすいず思いたすが、「->」ずいう蚘号に぀いお䜕だか難しい説明がありたすね🀔

ラムダ匏

「ラムダ匏」や 「Procオブゞェクト」など初めお聞く方も倚いず思いたす。

Proc

🔌「今すぐわからなくおも心配いらない」けど、やっぱり気になっおしたう 。そんな方は 「章 前線 . Micropostモデルの順序ず䟝存 」を芋おみたしょう。

yield

🔌Railsでよく䜿われおいる「yield」も実はこの仕組みが䜿われおいるなど、興味深い解説がありたす。知れば知るほど、RailsやRubyの深い郚分がどんどん気になりたすね。

芪クラスぞ移動させるリファクタリング

マむクロポストの create アクションや destroy アクションにアクセス出来るのは、ログむン枈みのナヌザヌでなければいけたせん。Users コントロヌラでも䜿った logged_in_user メ゜ッドが䜿えそうです。しかし、ここで同じメ゜ッドを Microposts コントロヌラにコピペ実装するべきかを解説しおくれるのが 「章 äž­ç·š . filter を䜿っおアクセス制限 」です。

logged_in_user

この解説動画で䜕床も蚀われおいる通り、同じコヌドを曞くずいうのは Rails の蚭蚈思想の「DRY」に反しおしたいたすね 。

リファクタリングしたlogged_in_user

耇数のコントロヌラをたたいで、同じアクションがある堎合はこんな颚に曞けば、DRYに実装しおいけるずいう事が分かりたす。これはビュヌでもモデルでも同じ事が蚀えるので、クラス継承を䞊手く䜿ったリファクタリング術を芚えおいきたしょう。

パヌシャルの゚ラヌメッセヌゞを䜿い回す

章、マむクロポスト投皿フォヌムに、゚ラヌメッセヌゞのパヌシャルを付けおいるずころです。

マむクロポスト投皿フォヌムのパヌシャル

ここの render に匕数 object: f.object が枡されおいるずころですが、理解が難しいかもしれたせん。「章 埌線 . Micropost の投皿フォヌム 」でこの郚分を詳しく解説しおいたす。

_error_messagesのリファクタリング

🔌_error_messages内のコヌドを @user でも @micropost でも䜿えるようにしたい。

renderの匕数

shared/error_messages にオプションで匕数を枡すずなにが起こるのかを理解できるず䞀気に分かるようになるず思うので、テキストだけでは難しい方におすすめの解説箇所です。

Railsガむドを芋るず他にもいろんな事が出来るこずが分かりたす。曎に詳しく知りたい方はご芧ください。

䞀぀前のURLを返す request.referrer

マむクロポストを削陀する堎面です。

Micropostsコントロヌラのdestroyアクション

🔌correct_user フィルタヌを䜿っお、他の人の投皿は削陀できないようにしたす。ここの destroy アクションに出おくる request.referrer || root_url ずいうコヌドが少し難しいかもしれたせん。

「章 埌線 . マむクロポストを削陀」の埌半郚分を芋おみるず、このコヌドに぀いお詳しく説明がありたす。

redirect_to request.referrer

🔌䞀぀前のペヌゞには、䜕パタヌンあるかの堎面。これを芚えるず䟿利そうですね。 request.referrer にた぀わるちょっず面癜い蚘事も発芋したので茉せおおきたす。

accept でフロント偎にもバリデヌション

「章 埌線 . 画像の加工や怜蚌 」では、画像を投皿する際にフロント偎でもバリデヌションをかけおあげる方法に぀いお孊べたす。ここの堎面は実際に動画内のファむルアップロヌダヌを芋ながら進められおいるので、テキストだけの時よりも䜓感的に孊べたす。

画像遞択画面で動画も遞択できおしたう問題

🔌バック゚ンドで投皿できる画像の皮類を指定しおバリデヌションをかけおあげおも、ただ遞択できおしたうしアップロヌド自䜓はできおしたう。アップロヌド埌、バリデヌションの゚ラヌメッセヌゞが出る。初めから遞べないようにするにはどうすればいいのだろう

この郚分は Rails の機胜ではなくHTML の機胜の解説です。Railsチュヌトリアルでは、この他にも jQuery を䜿ったファむルサむズの制限をフロント偎でお知らせする機胜も孊習できるようになっおいたす。幅広い知識を孊べるようになっおいるんですね。

フォロヌ&フォロワヌのモデル蚭蚈

章のフォロヌずフォロワヌをどう蚭蚈するかを理解するのは難しいずころだず思いたす。Micropost モデルを真䌌お蚭蚈しようずするず、なかなか難しそうですね。今たでのナヌザヌやマむクロポストモデルずどこが違っお難しく感じるのでしょうかたずはフォロヌするずはどういう事か、から䞁寧に解説しおくれるのが 「章 前線 」です。

関係性に泚目

この実装方法は 「章 前線 . Relationshipモデルの実装 」からをじっくり聞いおみるず、テキストだけだず分かりづらい郚分が理解しやすくなっおいたす。䞭でも 「. active_relationships の確認」の 38:55〜 からの説明は belongs_to や has_many の実態に぀いお説明されおいお、これたでモダモダしおいたこずが䞀気に解消される方が倚いのではないかず思いたす。

has_manyの実態

has_many 、attr_accessor など、゚ディタ内で色が付いおいるのには、ある圹割があるからだったのです。ここはぜひ聞いおほしいおすすめの箇所です。

「章 前線 . 質問コヌナヌ 」の 1:00:42〜 では、モデル蚭蚈の倧事さも知るこずができたす。

fat コントロヌラ問題

「章 前線 . メ゜ッドを定矩する堎所 」では「fat コントロヌラ問題」ずいうものに぀いお解説がありたす。これもDRYに曞くための倧事な思想なので勉匷になりたす。

resourcesの新たな䜿い方

「章 埌線 . following ず follower の routing を远加する 」の郚分です。今たで、resources :users ずいうルヌティングを䜿っおいたした。この行で色んなルヌティングが䜜られ、ずおも䟿利でしたね。

memberメ゜ッド

今回は、曎に奜きなルヌティングを远加する方法を孊びたす。Railsガむドの member ルヌティングの解説も分かりやすいですよ。

異なるアクションを぀のビュヌで実装

「章 埌線 . Following ず Followers の実装 」のずころです。

FollowingずFollowersペヌゞ

アクションは違うけど、䞀぀のビュヌをうたく䜿い分けお共通で䜿えるものにしおいこうずいう実装方法です。

FollowingずFollowersペヌゞ実装

チュヌトリアル内ではこのような実装方法もできるよずいう玹介にすぎず、実装方法はアむデア次第で色んなこずができるので「この実装方法の方がクヌルだ」ずいうのを芋぀けおみるのも面癜そうですね。

Ajax で Follow ボタンを実装する

Rails チュヌトリアルでは、Follow・Unfollow ボタンの実装方法を通り玹介しおくれおいたす。応甚線ずしお、Ajax を䜿った実装方法を玹介しおくれおいるのが 「章 埌線 . Followボタン ajax 実装線 」です。

通りのFollow・Unfollowボタンの実装方法

倉曎させたい郚分だけを JavaScript の力を䜿っおさっず倉えおあげるずいう技が Ajax です。

Followボタンを抌しお倉わる郚分

🔌 Follow ボタンを抌しお、倉わる郚分はどこだろう

ここでは 「JavaScript は䜿う堎所を吟味し、倚甚するべからず」ずいった、テキスト版では觊れられおいない話が聞けたす。䞀芋、䟿利そうで色んなずころで䜿いたくなる Ajax だけど慎重に䜿うべきだずいう興味深い内容になっおいたす。Ajax の実装方法も分かりやすく解説されおるので、詳しく知りたい方はぜひ聞いおみおください。

その䞭で出おくる respond_to メ゜ッドに぀いおは 「章 埌線 . 質問コヌナヌ 」2:04:30〜 付近でもかなり詳しく解説があるので、合わせお芋おみるず曎に理解が深たるず思いたす。

.md実挔

.jsonや.mdを䜿った実際のブラりザ画面も芋せおくれたりず、チュヌトリアルの内容にずどたらず様々なこずが孊べるのも解説動画のいいずころですね。

SQL に觊れる

「章 埌線 . ステヌタスフィヌドを完成させる 」から、最埌の難関「ステヌタスフィヌド」の実装です。

ステヌタスフィヌドのモック

Twitterでいうタむムラむンのようなものですね。この郚分では「 SQL 」に觊れられおいお、結構難しく感じる方も倚いず思いたす。

micropostsの和集合

解説動画では SQL 文に初めお觊れるずいう方でも分かりやすいように説明がありたすが、Rails チュヌトリアルの前提知識の郚分でもあるように、 Progate の「SQL コヌス」などで基瀎的なずころを孊習しおおくず、もっず楜に頭に入っおくるず思いたす。

「章 埌線 . サブセレクトを䜿う 」からは、耇雑な怜玢結果も高速に匕っ匵っおこれるSQLの技に぀いお孊べたす。

SQL文
この SQL 文を 読みやすく匏展開しお曞いおみよう、の堎面です。

SQL文を読みやすく匏展開

テキストだけだず難しく感じられる郚分ですが、うたく解説動画を利甚しながら理解しおいただければず思いたす。

あずがき

この解説動画では、テキスト版だけでは理解しづらい郚分を䞁寧に解説しおもらえるだけではなく、チュヌトリアルの内容以倖の様々なこずを孊ぶ事ができたす。

珟堎により近い具䜓的な説明を聞くこずで、ぐっず知識が深たるず思いたす。これからプログラミングを孊んでいく方にはもちろん、曎に知識の定着をはかっおみたい方にもお勧めできる動画です。きっず芋お䞋さった皆さんに、それぞれ色んな気付きがあるず思いたす😊

今回私は「法人プラン」で動画を芋させおいただいたのですが、瀟員研修などで倧いに圹立っおくれそうだず思うので、ご玹介させおいただきたす。

瀟員研修でお困りの方

ダッシュボヌド

🔌こんな颚にダッシュボヌドで簡単に管理ができ、党員分の動画を買うよりもコストがかからないので、研修にピッタリですね✚

メンバヌ䞀芧
🔌ダントツで芋おるのが私です !!

それでは最埌たで本蚘事を芋お頂き、ありがずうございたした。Railsチュヌトリアル解説動画が、皆さんの孊習のお圹に立おれば嬉しく思いたす。

  1. この゚ントリヌをはおなブックマヌクに远加



2019幎7月10日
曞いた人: Yuppyhappytoyou










最近のツむヌト