RubyのRefinements拡張

Rubyはモンキーパッチが簡単にできてしまうが、多用するとコードの複雑性が増してトレースが困難になるため、基本的に世の中一般のプロジェクトでは禁止されている(はず)。 それでも実装を進めていて拡張したほうが汎用性が増すケースもある。その場合はよ…

Rails 多対多テーブル構造をcollection_check_boxesで関連付ける

formを用いた際の多対多テーブルの関連付けを、collection_check_boxesを使用して行う。 railsdoc.com テーブル構造 create_table "users", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" end create_table "ser…

Ruby3.2 + Rails7の環境構築(docker compose)

クィックスタート: Compose と Rails — Docker-docs-ja 20.10 ドキュメント こちらのドキュメントが少し古かったので、他の記事を見ながら個人的に構築した際のメモ。 作業ディレクトリの作成 mkdir myapp 以下のファイルを作成 Dockerfile docker-compose.y…

AWS SDK for Rubyでlocalstack + OpenSearch環境に接続する

ローカルのdocker環境に構築したlocalstack + OpenSearchにAWS SDK for Rubyを用いた接続方法です。 接続方法自体はAWS公式のデベロッパーガイドに記載されていますが、クライアントクラス化して使用します。 docs.aws.amazon.com docker-compose.yml # ruby…

docker-composeでlocalstack + opensearchの環境構築

Amazon OpenSearch Serviceとの連携を行う要件に対して開発を行う場合、クラウド環境との疎通を行う前に、docker開発環境内でlocalstackを用いて検証することができる。 docs.localstack.cloud 設定ファイル docker-compose.yml version: '3.7' services: op…

Rails6 + Webpacker環境のVue.js3導入と、Viewからpropsへの受け渡し

環境 Ruby 3.0.0 Rails 6.1.4 Webpacker MySQL 8 ※Docker Desktop環境 Vueのインストール yarn add vue@next vue-loader@next @vue/compiler-sfc package.json { "name": "myapp", "private": true, "dependencies": { "@rails/actioncable": "^6.0.0", "@ra…