30DAYSトライアル4th(Rails)DAY25(仮)の課題は「Progate Rails コース(10章まで)」です。
※(仮)としているのは東京フリーランスの記事ではDAY20までしか書かれていないので、その先を勝手に進めているからです。
目次
30DAYSトライアル4th(Rails)DAY25(仮)の学習内容
30DAYSトライアル4th(Rails)DAY25(仮)の学習内容は以下のとおりです。
- いいね機能を作ろう:既存の2テーブルと紐つく新規テーブルを作成
- いいねボタンを改良しよう:共通スタイルシートの読み込み
- いいねした投稿を表示しよう:テーブルのデータ件数取得
ProgateのRailsコースはTwtter的なアプリを作りながらRailsを学習していきますが、今回の10章で真新しいものは出てこなさそうな雰囲気です。
マイグレーションファイル作成時に複数カラムを同時に作成する
モデル作成コマンド「rails g model」は以下のように記述することで、複数のカラムを持つテーブルを作成できる。
1 2 |
# カラム:データ型と次のカラム:データ型の間は半角スペースのみ ails g model モデル名 カラム名1:データ型 カラム名2:データ型 |
手動でコントローラを作成する
コントローラ作成コマンド「rails g controller」を実行するとビューファイルなども自動的に作成されてしまうため、ビューファイルが必要ない場合は手動でコントローラを作成する。
手動でコントローラを作成する場合は「/app/controller/コントローラ名_controller.rb」というファイルを手動で作成し、以下のような内容を記述する
1 2 3 4 5 |
class コントローラ名Controller < ApplicationController def アクション名 end end |
共通のスタイルシートの読み込み
スタイルシートの読み込みなどの共通HTMLはapplication.html.erbに書く。
Progateの課題では「Font Awesome」のスタイルシートを読み込んでましたが、ここに共通のものが記述できるのであれば、Bootstrapなどの読み込みもapplication.html.erbに記述したら良いということですね。
HTML要素に対してlink_toメソッドを使用する
リンクの文字列にHTML要素(今回の場合はFont Awesome」の使用)を含む場合はlink_toメソッドの記述方法を変える必要がある。
1 2 3 4 5 6 7 |
# link_toの基本構文 <%= link_to("表示文字列", "URL", ) %> # 表示文字列にHTML要素を含む場合のlink_toの構文 <%= link_to("URL") do %> HTML要素 <% end %> |
テーブルのデータ件数を取得:countメソッド
モデルに対してcountメソッドを使用することによって、テーブルのデータ件数を取得できる。
1 2 3 4 5 |
# 全データ件数取得 モデル名.all.count # 指定した条件に一致するデータ件数取得 モデル名.where(カラム名:条件値).count |
まとめ
意外と新しいことが出てきましたね(笑)
Railsで「Font Awesome」とか「Bootstrap」とかのCSSフレームワークをどうやって使うんだろうと思ってましたが、謎がとけてすっきりしました。
ProgateのRailsコースはあと学習コースと道場コースの1つずつ。
サクッと終わらせて、Railsチュートリアルに入っていきたいです。