2023-01-01から1年間の記事一覧

【Rails】devise_invitable 使ってみる

はじめに 業務でdevise_invitablegemを使っているプロジェクトがあるが、自分で実装したことはなかったためカスタマイズなしで手順を確認しました。 環境 Rails 7.0.8 ruby 3.2.2 devise 4.9.2 devise_invitable 2.0.8 前提 rails newした後にdeviseをインス…

【Rails】名前空間のあるモデルのspec

はじめに 前回名前空間のあるモデルを作成しました。 【Rails】テーブル名にプレフィックスを付与・ネームスペース付きのモデルを作成 - まっきーの学習記録 どうやってスペックを書くのか調べたので、まとめます。 方法 本記事でprojectは名前空間の名前で…

【Rails】テーブル名にプレフィックスを付与・ネームスペース付きのモデルを作成

WIP

はじめに ある2つのプロジェクトを1つのプロジェクトとして統合して管理したいため、Railsアプリの各ディレクトリ内を以下のようにプロジェクト毎に取り扱いということがありました。 models └ProjectA └User.rb └Admin.rb └... └ProjectB └User.rb └Admin.r…

【puma-dev】 使い方・躓いたこと

初めに puma-devを使ってみたので、使い方や躓きを簡単にまとめてみました。 概要 pumaとpuma-devに関してさらっと振り返り。 puma Ruby on RailsのWebアプリケーションに使用されるWebサーバー。 スレッドベースのアーキテクチャを使用し、複数のリクエスト…

【Rails】deviseのメール認証を使えるようにする(Confirmable)・ローカル編

初めに 業務でdeviseのメール認証(Confirmable)を使っていますが、自分でメール認証の設定をしたことがないためアウトプットします。 今回はローカルで動かすところまでやってみます。 ローカルのメール確認にはletter_openerを使用。 手順 deviseのインスト…

may have been in progress in another thread when fork() was called・rails consoleが中断してしまう

単純にrails consoleからUser.find(...)的なことをしようとしたら以下のエラーが発生してコンソールが中断してしまうことがありました。 rails c > User.find(...) [__NSCFConstantString initialize] may have been in progress in another thread when for…

【Rails】deviseのモジュールをサラッと確認

deviseモジュール全部みたときに、全部説明しろって言われてたらできないなぁとふと思ったので、とりあえずサラッと確認してみました。 まず導入 rails newは済んでいます。 gem 'devise' $ bundle $ rails generate devise:install $ rails generate devise…

【エラー解決】An error occurred while installing rugged (1.6.3), and Bundler cannot continue.

環境構築をしているプロジェクトで、依存関係があるrugged gemが入らないため、解決するまで試したことを書き残していきます。 エラーをちゃんと読む $ bundle install ...(省略) Installing rugged 1.6.3 with native extensions Gem::Ext::BuildError: ERR…

【Rails】俺好みのrails new備忘録

rails new して色々試すときにあれ?いつも何やるっけってことをなくすために、rails newのときによくすることを備忘録として残しました。 rails new データベース: postgresql JavaScriptライブラリー: esbuild CSSプロセッサ: bootstrap rails new sandbox…

git commitの前に「動作確認した?」のメッセージを表示してみた

よっしゃ実装完成したー!コミットしよー。って短絡的にコミットやプッシュをしたことありませんか? 人間はミスが多い生き物ですし、自分は特にミスをするタイプです。 そんな人間は実装した後に、きちんと動作確認するべきですが、動作確認すらも簡単にし…

【Rails】deliver_laterで送信したはずのメールがletter_openerでプレビューできない

困ったこと すでに開発されているプロジェクトで.deliver_laterを使ってメールを送信している箇所がletter_openerでプレビューされなかった。 deviseを使った招待メールはプレビューで確認できているのに。。 結論 ローカル環境でジョブの実行がされていなか…

ターミナルのプロンプトにgitの差分(diff)のステップ数を表示させたい

そもそもターミナルのプロンプトって? 「プロンプト」はターミナルの中でuser_name@host_name ~ %で表示される、ユーザーにコマンドを入力するための待ち受け状態を示すテキストのこと。 なぜ差分(diff)を表示させたいのか 開発をしていると知らず知らずの…

【Ruby】all?メソッドで配列の要素が全ての条件を満たす場合を表現したい

はじめに 配列内の要素が特定の条件を満たすかどうかを判定する必要がある場面があると思います。そんな時に便利なのが、Rubyの all? メソッドです。このメソッドは、配列内のすべての要素が指定した条件を満たすかどうかを一度に判定してくれます。この記事…