RailsとReactの課題をやった時に知った知識をまとめる

ここまでのまとめ
Active Supportは、Ruby言語の拡張やユーティリティを提供するRuby on Railsのモジュールである。
(TimweWithZoneだったり、present?やblank?など)
Ruby on Railsじゃなくても、単体のRubyで使うこともできる。
require
json renderで何をやっているか
Railsのコードリーディングをする際に役に立ちそうな知識が書いてある
ミクシンしたら、モジュール名を指定しなくても、モジュールで定義したメソッドや定数が使える。なるほどなあ
オープンクラスは、クラスを再オープンして、メソッドを追加したり、修正したり出来るやつ。使い方には気をつけた方が良い
sinatra
422 Unprocessable Contentは、サーバーがリクエストエンティティのコンテンツタイプを理解し、リクエストエンティティの構文は正しいが、含まれる命令を処理できなかったことを示す。
ActiveSupportのpresent?はblank?の結果の逆
blank?は、オブジェクトが空文字, 空白文字, false, nilの時にtrueを返す。
minitestで特定のテストだけ実行したいなら、メソッド名を指定する
sinatraでjsonレスポンス
ActiveSupportのTimeWithZone
バリデーションの具体的な処理のメソッドをクラスの中で定義する場合、そのメソッドを呼び出すためには、validateメソッドを使う。他にも独自バリデーションを定義する方法はあって、その場合は、クラスを使ったりする。それは他の部分で使いたいから使っていたりする。
RailsでSQLのGROUP BYを使いたいなら、groupメソッドを使えば良い
Railsで他テーブルを結合して、whereをしたい時に見る記事
Railsのenumってstring型でカラムでもいけたのか、
今までboolとintegerしかカラムに設定しちゃダメなのかと思ってた
参考になる
SRE調べる時に参考になるかも
enumを設定すると、インスタンス生成時にバリデーションが設定される
createに配列を渡すと、バルクインサートできる
トランザクション
ActiveRecord::Base.transaction do
Alice.pay!(100) # Aliceの所持金から100円減らす
Carol.receive!(100) # Carolの所持金を100円増やす
end
クラスメソッドの定義方法
複合ユニーク制約
enumはActiveRecordのモジュールなのか
has_and_belongs_to_many 初めて知った。中間モデルを介さずに多対多のアソシエーションを組めるそう
alphine linuxはapkでライブラリをインストールする。apk add --updateでリストをアップデートしつつ、ライブラリをインストールできる
stdin_openとttyについて