Rails

Rails6.1 + Devise 3.8.0 で、Deviseのデフォルトの挙動を確認してみた

Deviseを使うと認証まわりの機能をRailsに組み込むのが容易です。 ただ、「そういえばDeviseにある各モジュールのデフォルトの挙動はどんな感じだろう」と思ったため、調べた時のメモを残します。 目次 環境 検証するためのRails + Deviseアプリを作成 アプ…

Devise 4.8.0 でメールテンプレートを変更したい場合、カスタムメーラーの template_path ではなく headers_for をオーバーライドする

Rails + Deviseにて、Devise標準のメール受信確認用メールテンプレートを差し替えたいことがありました。 そこで Devise の Wiki How To: Use custom mailer · heartcombo/devise Wiki に従い、 % bin/rails g devise:views users ... create app/views/user…

Rails 6.1 + Devise 4.8.0 で、ルーティングから一部のdeviseモジュールの URI Pattern を削除する

Rails + Deviseでは、ModelにDeviseのモジュールを組み込むと、自動的に routes へ URI Pattern が追加されます。 例えば、 Rails.application.routes.draw do root to: 'home#index' devise_for :users end な routes.rb の時、DeviseのModelが class User …

Rails6.1で、セッションをキャッシュとは別のmemcachedへ保存する

Rails6.1でセッションをキャッシュとは別のmemcachedへ保存しようとした時、色々調べたことをメモに残します。 目次 環境 デフォルトのセッションストレージ Railsアプリの作成 動作確認 キャッシュの保存先を変更するための準備 フラグメントキャッシュを使…

Delayed Job を使って実行する処理を、RubyMineでデバッグをする

Rails + Delayed Job な環境で、Delayed Job を使って実行する処理がありました。 例えばこんな感じです。 # Delayed Job で実行 # call_heavy_api中で外部APIを呼んでいるが、その処理が重いとする Task.delay.call_heavy_api({ foo: 'bar' }) そんな中、De…

「Everyday Rails - RSpecによるRailsテスト入門」を写経してみた

The RSpec BookやRailsチュートリアルを終えたタイミングでちょうど Everyday Railsの翻訳本が出たため、今度はこちらを手にとって写経をしてみました。 Everyday Rails - RSpecによるRailsテスト入門 - Leanpub 結論としては、RailsやRSpecを独学で学んでい…

Railsチュートリアル 4.0版の演習について、自分なりの解答をまとめてみた

Railsチュートリアル4.0版には各章に演習が付いていますが、模範解答みたいなものは示されていないため、この書き方で良いのかと悩むこともありました。 そのため、復習した時のことを考えて、自分の解答をまとめておきます*1。 なお、4章はsample_appと関係…

Railsチュートリアル 4.0版 の写経を完走した

「The RSpec Book」の写経を終えた後、より実践的でテストコードがあるものに手をつけてみようと考え、評判の良い「Railsチュートリアル 4.0版」の写経を行いました。 全11章ですべての章に演習が付いているという、それなりに量のあるチュートリアルでした…