ガラシのパルプンテ頼み

地方産限界エンジニアのグローバル独り言

Rails

yarnが原因でdocker-compose upが実行できないときの対処法

現象 Rails開発環境を立ち上げる際に、docker-compose upコマンドを実行すると以下のエラーが出るようになった。 ======================================== Your Yarn packages are out of date! Please run `yarn install --check-files` to update. =====…

【GitHub Actions】CircleCIからGitHubActionsに乗り換えてRailsプロジェクトのCIを回す(RSpec・rubocop)

これまでCI/CDツールとしてはCircleCIを使っていましたが、昨今の潮流やコスト面での比較検討から弊社のプロジェクトでもGitHub Actionsへの乗り換えを実施しました。 今回はRailsのプロジェクトでGitHub ActionsによるCI/CDを適用する方法をまとめていきま…

M1Mac + Docker環境でGroverを用いたPDF生成をするまでがまじでしんどかった話 | Rails外伝

概要 開発環境 Groverとは Puppeteerとは Grover, Puppeteer, Headless Chromeそれぞれの役割 今回のハマりポイント M1 Mac上のDockerでGoogle Chromeが動作しない 具体的な対応手順 1. Groverの追加 2. DcokerfileにPuppeteerのインストール設定とchromium…

結局textareaから入力された文字列ってどう改行したらいいの? | Rails入門

はじめに 前提知識 特殊文字のエスケープ処理 XSS(クロスサイトスクリプティング) ヘルパーの具体的な使い分けについて html_safe sanitize simple_format safe_join まとめ エスケープ処理 html_safe sanitize simple_format safe_join 結論 はじめに for…

【5分くらいでわかる】flashとflash.nowの違い | Rails入門

先に結論から flashはアクションが動いた時に表示され、その場限りで破棄される flash.nowはアクションの有無に関わらず表示され、その場限りで破棄される flashメッセージとは 画面遷移時にユーザーに向けて発信される簡易的なメッセージのこと。 ログイン…

【5分くらいでわかる】 enumの使い方 | Rails入門

enumとは enumとは一つのカラムに指定した複数個の整数の定数に、それぞれ名前を割り当てるために使われるデータ型です。 広義の意味では enumeration: 列挙型 と訳されます。enumを使うメリットとしては以下のようなものが挙げられます。 意味のある単語を…

【5分くらいでわかる】CarrierWaveでファイルをアップロードする方法 | Rails入門

CarrierWaveとは CarrierWaveとは、Railsアプリケーションにファイルのアップロード機能を追加するためのgemです。 デフォルトの保存先はpublic/uploadsで、設定でS3などの外部ストレージへの保存も可能です。 GitHub github.com CarrierWaveをローカルで使…

【5分くらいでわかる】ストロングパラメータ is 何 | Rails入門

ストロングパラメータとは strong parametersは、Action ControllerのパラメータをActive Modelの「マスアサインメント」で利用することを禁止します(許可されたパラメータは除く)。 したがって開発者は、マスアップデートを許可する属性をコントローラで…

【5分くらいでわかる】form_withの使い方とfrom_for、form_tagとの違いについて | Rails入門

form_withとは form_withとは、railsで情報を送信するためのヘルパーメソッド。 form_withを使うことにより、簡単に入力フォームに必要なHTMLを作成することができます。 api.rubyonrails.org 特定のコントローラーで任意のデータを受け取りたい or 受け取っ…

【5分くらいでわかる】formからネストしたハッシュの配列を送信する方法 | Rails入門

入門といいつつ今回は少し踏み込んだフォームの使い方について。 実務の要件ではform_withの枠組みから外れて、送るパラメータの構造を設計しなければならない場面に直面することもあります。 今回はそんな時に覚えておくとちょっと役立つかもしれないテクニ…

【5分くらいでわかる】ActiveRecordのdependentオプションについて | Rails入門

dependentとは 親オブジェクトがdestroyされたとき、関連する子オブジェクトの扱いを制御するオプション dependentオプションの種類 destroy 親オブジェクトが削除されたら子オブジェクトも削除される ActiveRecordを介して削除(コールバック処理が実行され…

【5分くらいでわかる】findとfind_byとwhereの使い分け大全 | Rails入門

findメソッドの概要 各モデルのidを検索キーとしてデータを取得するメソッド id以外の条件で検索不可 戻り値は検索対象のクラスのインスタンス 取得したいデータのidが特定されている場合 # 単一のIDを指定 Customer.find(1) Customer Load (0.4ms) SELECT "…