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

【Rails】sorcery - require_login

内容 Ruby on Rails のgem 'sorcery'の ライブラリーメソッドrequire_loginについて ソースコード追跡 def require_login return if logged_in? # ① ログインしている場合は処理中止(Guard節) if Config.save_return_to_url && request.get? && !request.x…

【Ruby】return if によるガード節

内容 Ruby, Ruby on Railsで使われる return if について 経緯 Module: Sorcery::Controller::InstanceMethods#require_loginで return ifが使われており、調べてみたのでメモ・備忘録として return ifはガード節 ガード(Guard)節とは、不要な処理は予め判定…

【Rails】devise - パスワードなしでアカウント情報編集できるようにカスタマイズ

内容 Ruby on Railsのgem 'devise'について deviseの登録・認証を使用するモデルレコードのカラムデータの更新を パスワードなしでできるようにカスタマイズする方法 前提 前提① : Userモデルレコードにdeviseの登録・認証機能を使用 $ rails g devise User …

【Rails】devise - deviseのデフォルト設定(リソース更新時にパスワードが必要)

内容 devise本家では deviseの登録・認証を使用するモデルレコードのカラム更新にはパスワードを必要としています。 これをdevise本家のソースコードから追ってみます。 ソースコード追跡 Devise::RegistrationsController#update アカウント更新時に発火す…

【Ruby】deleteメソッドの注意

内容 Rubyのdeleteメソッドについて deleteメソッドの使用対象のクラスの型によって 定義上、返り値が変わってしまうことに注意です。 deleteメソッドは色々なクラスに対して定義されている ・String#delete (Ruby 3.0.0 リファレンスマニュアル) ・Array#de…

【Rails】Railsのassets周り(順次追加)

内容 Railsのassets管理 経緯 経緯① : assets周りの苦手意識 Railsのassets周りに関して、どうしても苦手意識があるんですよね。。。 ・development環境・production環境問わず、最新のcssが反映されない ・Railsアプリのデプロイのとき、assets:precompile…

【Rails】devise - deviseに関する各記事

内容 私が今まで作成したdeviseに関する記事のリンクをまとめてます 小さな項目ごとに作成しているため、まとめ記事として (devise関連の記事を追加しましたら順次更新していきます) deviseに関する記事リスト deviseの基本的実装 【Rails】devise - devis…

【Ruby】三項演算子

内容 Rubyの三項演算子A ? B : Cについて 経緯 三項演算子が Devise::RegisterController#after_update_path_for に現れて調べたため備忘録 三項演算子とは A ? B : C は if 条件式A B #(条件式Aがtrueの時の処理) else C #(条件式Bがfalseの時の処理) end …

【Rails】devise - アカウント作成・更新後のリダイレクト遷移先をカスタマイズする

内容 Ruby on Railsのgem 'devise'で アカウント作成・更新した後のリダイレクト遷移先のパスの変更の方法 前提 ① deviseの登録・認証を使用するモデル設定 $ rails g devise User ② deviseのコントローラのルーティング Rails.application.routes.draw do d…

【Rails】devise - ログイン・ログアウト後のリダイレクト先をカスタマイズする

内容 Ruby on Railsのgem 'devise'で ログイン・ログアウトした後のリダイレクト遷移先のパスの変更の方法 デフォルト設定 devise本家では デフォルトのログイン・ログインした後のリダイレクト遷移先は 次のように定義されています いつ デフォルトの遷移先…

【Rails】devise - モジュールの追加方法

経緯 ・アカウント作成機能・ログイン機能の実装のまとめ・整理・備忘録 内容 Ruby on Railsのgem 'devise'の モジュール追加の方法 deviseのモジュール deviseで使用できるモジュール deviseのモジュールの使用方法 前準備 deviseの前準備が完了済みとしま…

【Rails】devise - deviseの基本実装手順

経緯 アカウント作成・ログイン機能の実装のまとめ・整理・備忘録 deviseの基本実装手順をまとめる 内容 deviseの基本実装手順 devise/README.mdに記載されている内容 前準備①:deviseをインストール gem 'devise' $ bundle install 前準備② : deviseのセッ…

【はてなブログ】コードシンタックスでファイル名のタイトルを付けたい

経緯 はてなブログの記事作成時、 コードのシンタックスにファイル名を付け加えたいと思い 内容 はてなブログの記事作成時の コードのシンタックスにファイル名表示のスタイルを追加する方法 参考 こちらを参考にしました → はてなブログでソースコード表示…

【Rails】devise - user_signed_in?

経緯 アカウント作成機能・ログイン機能の実装のまとめ・整理・備忘録 内容 Ruby on Railsのgem 'devise'の ヘルパーメソッドuser_signed_in?について ソースコード /lib/devise/controllers/helpers.rb で動的メソッドとして定義されています。 def #{mappi…

【Rails】devise - current_userがログイン状態の時間切れでnilになる

経緯 ・ユーザー登録・ログイン機能の実装のまとめ・整理の備忘録 ・開発環境localhostで動作確認をしていたら 今まで問題のなかった動作が いきなりcurrent_userがnilという旨のエラーが発生 → アカウント作成(RegisterController#create)の後ログイン状態…

【Rails】devise - current_user

経緯 ログイン機能・ユーザー登録機能の実装のまとめ・整理の備忘録として 内容 gem 'devise'のヘルパーメソッドcurrent_userについて ソース current_userメソッドの定義されているのは lib/devise/controllers/helper.rb のようです。 current_userメソッ…

【GitHub】ソースコードの検索

経緯 Gemで定義されているメソッドのソースコード検索で 、 [Go to file] → 検索ワード入力 で表示される結果はファイル名検索なので、 「メソッドはどのファイルで定義されているか?」などがわからないな、 と思い 内容 GitHubリポジトリのソースコード内…

【Rails】devise - authenticate_user! メソッド

経緯 ユーザー登録機能・ログイン機能を ・gem 'sorcery' ・ gem 'devise' で実装したことはあるものの、整理できていないので備忘録でまとめたいと思い 内容 Ruby on Rails でユーザー・ログイン機能を実装するときに使用する gem 'device'の authenticate_…