Rails
これまでCI/CDツールとしてはCircleCIを使っていましたが、昨今の潮流やコスト面での比較検討から弊社のプロジェクトでもGitHub Actionsへの乗り換えを実施しました。 今回はRailsのプロジェクトでGitHub ActionsによるCI/CDを適用する方法をまとめていきま…
概要 開発環境 Groverとは Puppeteerとは Grover, Puppeteer, Headless Chromeそれぞれの役割 今回のハマりポイント M1 Mac上のDockerでGoogle Chromeが動作しない 具体的な対応手順 1. Groverの追加 2. DcokerfileにPuppeteerのインストール設定とchromium…
はじめに 前提知識 特殊文字のエスケープ処理 XSS(クロスサイトスクリプティング) ヘルパーの具体的な使い分けについて html_safe sanitize simple_format safe_join まとめ エスケープ処理 html_safe sanitize simple_format safe_join 結論 はじめに for…
先に結論から flashはアクションが動いた時に表示され、その場限りで破棄される flash.nowはアクションの有無に関わらず表示され、その場限りで破棄される flashメッセージとは 画面遷移時にユーザーに向けて発信される簡易的なメッセージのこと。 ログイン…
enumとは enumとは一つのカラムに指定した複数個の整数の定数に、それぞれ名前を割り当てるために使われるデータ型です。 広義の意味では enumeration: 列挙型 と訳されます。enumを使うメリットとしては以下のようなものが挙げられます。 意味のある単語を…
CarrierWaveとは CarrierWaveとは、Railsアプリケーションにファイルのアップロード機能を追加するためのgemです。 デフォルトの保存先はpublic/uploadsで、設定でS3などの外部ストレージへの保存も可能です。 GitHub github.com CarrierWaveをローカルで使…
ストロングパラメータとは strong parametersは、Action ControllerのパラメータをActive Modelの「マスアサインメント」で利用することを禁止します(許可されたパラメータは除く)。 したがって開発者は、マスアップデートを許可する属性をコントローラで…
form_withとは form_withとは、railsで情報を送信するためのヘルパーメソッド。 form_withを使うことにより、簡単に入力フォームに必要なHTMLを作成することができます。 api.rubyonrails.org 特定のコントローラーで任意のデータを受け取りたい or 受け取っ…
入門といいつつ今回は少し踏み込んだフォームの使い方について。 実務の要件ではform_withの枠組みから外れて、送るパラメータの構造を設計しなければならない場面に直面することもあります。 今回はそんな時に覚えておくとちょっと役立つかもしれないテクニ…
dependentとは 親オブジェクトがdestroyされたとき、関連する子オブジェクトの扱いを制御するオプション dependentオプションの種類 destroy 親オブジェクトが削除されたら子オブジェクトも削除される ActiveRecordを介して削除(コールバック処理が実行され…
findメソッドの概要 各モデルのidを検索キーとしてデータを取得するメソッド id以外の条件で検索不可 戻り値は検索対象のクラスのインスタンス 取得したいデータのidが特定されている場合 # 単一のIDを指定 Customer.find(1) Customer Load (0.4ms) SELECT "…