バットエンドの方が幸せという選択肢は皮肉すぎるよゲーム脳【TECH::EXPERT】

DB設計 Rails Ruby TECH::EXPERT 応用カリキュラム編

【本日のメニュー】
・DB設計は危険な領域へと突入する(テンプレ)
・Rubyのみでスクレイピングしてた時のメモ
・プロゲートでシコシコレイルズ

【DB設計は危険な領域へと突入する(テンプレ)】
匠のDB設計はここで終わらない。

今日のご指摘(有難や〜)
・messageのデータ型はたくさんの文字が入るのでstringじゃなくてtextにしましょう
・integer型ではなく、references型にしましょう(後述)
・null許可するならOptionに「null: default」の記述は不要!(禁止の時だけ書こう!ってことらしい)

今日覚えた英単語
referenc : 参照

group_users(groupとusersの中間テーブル)にはinteger型ではなく、references型にしましょう!というご提案がありそれと一緒に下記のページを送ってもらいました。

[参考]Railsの外部キー制約とreference型について
レビュアーさんが教えてくれたページ。
データをどこからか参照している場合はinteger型ではなく、references型にする。
というのもペアっぽものみたいなので、
Option に 「foreign_key: true」 つけたら typeを「references」にしないと「foreign_key: true」が働かないよということらしい。
「foreign_key: true」がつくものはついでにインデックス自動付与らしいです。
便利ですよね!だって。本当rails覚えゲー

[参考]Rails テーブルのデータ型について
→DB設計の時に必要な暗記できないアレ。お前のことが好きだったんだよ!

[参考]Railsバリデーションまとめ
→アソシエーションとかここら辺と被っているので

【Rubyのみでスクレイピングしてた時のメモ】
[参考]初心者は覚えておきたいRubygemsのコマンドまとめ
railsコマンドはrailsがgemをインストールしてくれるだったけど、ruby版はこれになるらしい。
「$ gem install <gem名>」でインスコ
railsはGemfileに書き込んだgemをまとめてbundle install
やっぱりrails便利なんやって。
1個だけインスコする場合、この方法をrubyでやったことある人だったらやること多くて面倒に感じるのかもしれない。(未確認)
でもrailsは入れたgemが一覧になってわかるけど、rubyは一覧を見るコマンドで見ていらなったらそのリストからアンスコしなきゃいけないので、やっぱりrails便利なんやなって。
あとでrailsなしでもbundle installって記事みたけど、railsなしだと、書き込むファイルはどこ?を調べ中。
winでやるときは検索に必ずwin10入れなきゃいけない問題あるで。macbookほんと優秀。

困ってるのが「あなたの作ったファイルの〇行目がエラーだよ」というものではなくて、
「gemの〇行目がエラーだよ」って言われた時の対応。gem エラーだとインスコがうまくいかないネタの記事が多くて検索がむずい。

bundle installすると、gem同士の互換性を調整してくれるとのことなので、
先にbundle install試してからgemにエラー出た時を検索してみようかなーと思った。

[参考]RubyでHTTPステータスコードを確認する方法
まだ使ってないけど使ってみたいメモ

[メモ]gemが入ってるフォルダのパス
C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems
どこに一覧あんの?って思ったらgemエラーが教えてくれた。
ナカナカヤルジャナイ!

[参考]Ruby のエラーメッセージをわかりやすく表示する gem「Eturem」を作った
英語翻訳の手間を省ける匠向けgem。
お前のことが好きだったんだよ!

【プロゲートでシコシコレイルズ】
カリキュラム的にはDB設計、この後はハムルとScssと続くようですが、
どう考えても比率はrails80%の全体像なのでプロゲートでシコシコ遊んでます。
そんなこんなで、こんなメソッド?出てきたのでリマインド。pitweet出てきたっけ?(健忘症)

[参考]【Rails】Flashメッセージの使い方とメッセージの拡張・応用

フラッシュってものを使うと、もともとある機能で「投稿完了したよ」メッセージ的なものを表示できる要素らしいっすよ。
チャットスペースの実機でもそんなのあったし、頭の片隅に置いときましょ。