ハンズオンで学ぶRuby on Rails 6<Action Textを支えるデータベースアソシエーション編>

Rails 6標準のWYSIWYGエディタでブログの実装方法を解説。ポリモーフィック関連と中間テーブルを利用した各種テーブルのデータ構造をRailsのソースコードを交えながら解説! Docker 環境を用意しているのでセットアップは超楽!

Ratings: 4.29 / 5.00




Description

こんにちは!プログラミングおじさん はむです!


本コースでは以下の5つを学びます。


1. Rails 6 の新機能 Action Text を利用したブログページの実装方法


Rails 6 で導入された Action Text を使って、ブログの編集画面のような、いわゆる wysiwyg エディターとか リッチテキストエディターなどと言われるような部品が搭載されたページを作っていきます。 Rails 5 までの技術だと、すごく大変な作業になるんですが、 Action text を使えばですね、もう一瞬でできてしまうのですが、その手軽さを実感頂ければと思います。 ただ、本コースの冒頭でこのブログページは作ってしまうんですが、これはあくまで序章に過ぎません。 つまり、本コースのゴールではないんですよね。 どちらかというと、いまから紹介する学習内容の、2 番目以降の項目の方が大事になってきますので、楽しんで頂ければと思います。


2. デバッグツール(pry、pry-rails、pry-byebug、等)の導入方法から使用方法及びツールを用いたソースコードリーディングの方法について


ここでは、pry という強力なデバッグツールを導入します。 僕が普段やっている習慣として、ソースコードリーディングというのがあります。 これをみなさんにも身につけてもらうというのがこの学習内容のゴールです。 つまり、使ったことのない新しい機能等があったときに、そのクラスなりメソッドなりがどういう働きをするのか? って気になることがあると思いますが、 そんな時、始めのうちは、そのクラス名なりメソッド名なりでググってしまうことがあるかと思いますが、 現場のエンジニアであれば普通はそんな危険なことはしません。 ソフトウェアの挙動を確認するには、ソースコードを見るしか無いんですよね。 それはなぜか? ソースコードは常に変わるものだからですね。 例えば、Rails のメジャーバージョンを上げた途端にユニットテストがコケ始めた。っていう苦い経験をされたことのある方いるでしょう。 そんな時に、なぜコケたか? それを調べるにはバージョン間の挙動の違いを調べるしか無いんですよね。 つまり、ソースコードを追っかけるしか無いんです。 ということで、もっと Rails のソースコードと仲良くなろう! っていうことで、pry の導入方法や使い方について学習します。 きっと pry はみなさんの良き友人になることでしょう。


3. ActionText が生成する各種テーブルの相関やテーブル内部のデータ構造


Action Text はさまざまなテーブルを自動で導入してくれます。 つまり、マイグレーションファイルを自動で用意してくれるんですよね。 wisywig エディターをデフォルトの状態で使っている間は特にテーブルの構造について気にすることはないかもしれませんが、 使っていくうちに、バリデーションなどを導入したくなるはずです。 そんな時に、必要になる知識が、テーブルの中のデータ構造です。 これがわかっていないとバリデーションの実装は不可能です。 なので、ここでしっかり学習しましょう!


4. Action Text が提供する各種レコードの属性に対する検証(バリデーション)の方法


これは、前の内容と絡むんですが、テーブルに対する正しい知識を取り入れた上で、 望ましくないデータを除外する方法を身に着ける。ということです。 データを永続化する上で、バリデーションはなくてはならない必須の機構となります。 ただし、こればかりは、ビジネスロジックに直結するところなので、 幾ら何でも Rails はここまで面倒を見てくれません。 僕たちが手を動かして、要件に基づいて実装するしかありません。 演習問題も設けているので、これを機にバリデーションマスターになりましょう!


5. 経済的にストレージスペースを活用するための1つのアイデア


アプリケーション開発者にとって、機能を実現するというのは必要なスキルになりますが、 必ずしも必要とは限らないけれども、無いと後々困るスキルというのがあります。 それは、長くアプリケーションを利用できるよう、メンテナンス性を担保できるということです。 wisywig エディターは非常に便利で、バイナリデータの登録も容易にできてしまう反面、 ストレージ領域を富豪的に使ってしまう悪い点があります。 その辺りを十分意識しながら、ストレージスペースを経済的に利用するための手段について学びます。

What You Will Learn!

  • Rails 6の新機能Action Textを利用したブログページの実装方法
  • デバッグツール(pry、pry-rails、pry-byebug、等)の導入方法から使用方法及びツールを用いたソースコードリーディングの方法について
  • ActionTextが生成する各種テーブルの相関やテーブル内部のデータ構造
  • Action Textが提供する各種レコードの属性に対する検証(バリデーション)の方法
  • 経済的にストレージスペースを活用するための1つのアイデア

Who Should Attend!

  • RailsでWYSIWYGを使用するUIの実装方法を学習したい方
  • ActionTextが生成するテーブルの相関やテーブル内部のデータ構造に対して興味のある方