2022-06-01から1ヶ月間の記事一覧

RubyMine 2022.1系にて、複数プロジェクトを開くとRailwaysプラグインが1つのプロジェクトにしか表示されないので、暫定対応してみた

RubyMineには、 Railways という bin/rails routes の結果を分かりやすく表示してくれるプラグインがあります。 Path・Action・Nameなどがひと目で分かるため、Railsアプリを書く時には重宝しています。 Railways - RubyMine Plugin | Marketplace https://g…

RubyMineで、「同一Rubyバージョンだけど、システム別に異なるgemバージョンを使いたい」場合の設定について調べてみた

RubyMineで開発をする中で、「同一Rubyバージョンだけど、システム別に異なるgemバージョンを使いたい」ことがあったため、メモを残します。 目次 環境 パターンごとの設定 rbenv-gemset を使用するパターン プロジェクトの vendor/bundle へ入れるパターン …

Rails7で導入された構文を使って、ActiveRecord::Enumを使ってみた

Railsのモデルで「(いわゆる)マスタを作るほどでもないけど数値に名前をつけたい」という時に、 ActiveRecord::Enum (enum) が使えます。 ActiveRecord::Enum enum については、以下をはじめ、詳しく解説している記事がすでに存在します。 Railsのenumを使い…

Rails製APIにて、JavaScriptの fetch() に対してリダイレクト的なステータスコードを返したい時はどうすればよいか調べてみた

Railsのコントローラにてリダイレクトをしたい時は redirect_to が使えます。 2.3 redirect_toを使う | レイアウトとレンダリング - Railsガイド 以下の例では、コントローラの show() へルーティングされた時に after_redirect_erb_fruits_path へとリダイ…

Rails + RSpecで、メモ化しているメソッドをモックしたら RSpec::Mocks::ExpiredTestDoubleError になったので、調べてみた

Rubyでメモ化したい時、 ||= を使って書くことがあります *1。 以下のコードであれば、クラスメソッド twitter を使って、クラスインスタンス変数 @twitter に Api::External::Twitter.new のインスタンスを設定・メモ化しています。 class Api::External::C…

React Hook Form 7系と MUI 5系を組み合わせたフォームを作ってみた

React Hook Form 7系とMUI 5系を組み合わせてフォームを作る時に、色々悩んだことがあったのでメモを残します。 目次 環境 controlled component と uncontrolled component について Reactのフォームでは MUIでは React Hook Formでは 実装 フォームを作る …