自由帳

既に知っていることも含めて再アウトプット用に書きます✍️

Rails

Ruby on Railsの設定: config.active_record.migration_error の利用法

Ruby on Railsは設定可能なオプションが多く、それぞれが異なるシチュエーションにおいて重要な役割を果たします。 この記事では、特にconfig.active_record.migration_errorという設定に焦点を当てています。この設定はデータベースのマイグレーション状況…

APIの日時の返り値のTimeZoneをUTCからJSTに変換する方法

utc_time.in_time_zone('UTC').in_time_zone('Tokyo')

[rack-attack] throttleの挙動確認方法

目的 前提条件 手順 1. ローカル環境をホワイトリストから除外する # config/initializers/rack_attack.rb # NOTE: ローカル開発環境で挙動を確認するには下記をコメントアウトする safelist('allow from localhost', &:allowed_ip?) 2. キャッシュを有効に…

rails consoleからDBの接続情報を調べる

ActiveRecord::Base.connection_config 以上。 参考URL https://apidock.com/rails/ActiveRecord/ConnectionHandling/connection_config

privateなdelegateメソッド

class UserDecorator def initialize(user) @user = user end def full_name "#{first_name} #{last_name}" end private delegate :first_name, :last_name, to: :@user end privateメソッドはレシーバーがある状態では呼べないのに呼べている。privateにな…

[RuboCop RSpec]Rails

RSpec/Rails/HttpStatus HTTPステータスを説明するためにシンボルまたは数値の使用を強制します シンボルの場合(EnforcedStyle: symbolic (default)) # bad it { is_expected.to have_http_status 200 } it { is_expected.to have_http_status 404 } # goo…

N+1のメモ

メソッド名 発行SQL キャッシュの生成 メモ joins LEFT INNER JOIN 無 遅延フェッチを行う。 left_outer_joins LEFT OUTER JOIN 無 関連テーブルでの絞り込み eager_load LEFT OUTER JOIN 有 LEFT OUTER JOIN でキャッシュする。1 回のクエリで行う。即時に…

悪意のあるQueryStringを含むリクエストをrack_attackで防御

目的 悪意のあるQueryStringを含むリクエストをrack_attackで防御したときの作業メモ 前提条件 Ruby 2.7.1 Rails 6.0.3.5 rack-attack (6.5.0) 手順 WIP 関連URL 悪意のあるQueryStringを含むリクエストをrack_attackで防御

【命名ルール】カスタムバリデーションメソッドには'validate_'をつける

↓このissuesをたまたま見つけたんだけど、分かりやすいな〜と思った github.com 今、取り組んでいるプロジェクトは2人体制だけど、結構頻繁に議論しながら良い感じにプロジェクトのルールが出来上がっている(そのおかげで開発しやすい)。 これも採用したい