【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_…

【Git】マージ済ブランチを一括削除

Git

自分、どこのブランチにいるんじゃ ことあるごとにブランチ作って!マージ!を繰り返すと $ git branch で自分のいるブランチの位置がわからなくなる事態に (この時、masterブランチにいるのですがスクロールしないと表示されない) alias ./ gitconfig [alia…

【CSS】超カンタン自動スクロール

CSS

CSSだけで自動スクロール‥だと!? qiita.com 参考にスクロールできるか やってみたら実際できて驚き このような動きをつける実装では swiper.jsで 「動かない‥動かない‥」と頭悩ませた記憶 が(笑) そんなパターンが多かったのですが すんなりできたのでほ…

【Vue】v-forでリストレンダリングできないネスト配列構造

Vue

v-forでレンダリングできない構造? [ [{ },{ }, ‥ ,{ } ], [{ },{ }, ‥ ,{ } ], ‥ ,[{ },{ }, ‥ ,{ } ] ] というデータの配列構造のデータを作成して v-forで要素をリストレンダリングさせようとしたら できなかった [ { [ { }, ‥ ,{ } ], ‥ , [ { }, ‥ ,{ …

【Vue/Rails】Promiseを介すとRspecが通らない?

JWT認証のユーザー登録機能を VueでhandleRegisterメソッドに 定義 axios → Promise → handleRegisterメソッド発火としたら CapybaraでNetwork Errorの応酬 // auth.service.js class AuthService { register(user) { return axios.post(API_URL + 'users', …

【Ruby】自己演算子

rubyの自己演算子始めて使ったのでメモ 【Ruby】使いこなせると便利。||演算子のいろんな使い方 - Qiita def authenticate! payload, _ = Jwt::TokenProvider.decode bearer_token @current_user ||= User.find(payload['user_id']) end @current_userがnil…

【Vuex】mutation/actionの引数

mutations/actionsでメソッドを作る 1から各コンポーネント のメソッドを Vuex Storeへ移行することをやりました 各コンポーネント内でのメソッドの定義は Vuex Storeでのmutations / actionsの定義に対応 引数の理解は必須ですね‥ わかりやすくまとめてあ…

【Vuex】mutations / actions の違い

各コンポーネントのmethodsのVuex Store移行をやっていたら 「mutationsとactions、2つある必要ないのでは?」 と疑問が出たので調べてみると VuexのMutationとActionの切り分け - Qiita そもそもMutationは同期処理でなければならなず、> Actionは非同期処…

【JavaScript】spliceメソッド

axiosのCRUDのうちの更新メソッド実装で使いました spliceメソッド: Array.prototype.splice() - JavaScript | MDN sliceメソッドは もとの配列から要素を削った配列を返すものに対し、 spliceメソッドは要素追加、置き換えもできる (splice : より継をする…

【JavaScript】findIndexメソッド

条件をみたす配列の要素の位置(先頭から○番目)を返すメソッド Array.prototype.findIndex() - JavaScript | MDN axiosの更新メソッド実装の時の [更新用データid]と[既存の更新前データid]のid照合 に使用しました

【Vue】Vuex+axios 「id求む」

Vue

axiosを使ったCRUD実装(vuex)で 延々と更新(U)ができずに詰まったので ここに備忘録を記す‥。 はしです。 詰まった理由は ずばり「idを渡していなかったから」 更新にはそのレコード (Vue的にはprops)のidがないと 「更新用として作った新しいpropsを既存の…

【Vue】scoped CSS 干渉??

Vue

Vueのモーダル実装トラウマになりつつあるはしです。 フロントのエラー、一度でたらなかなか抜け出せない モーダルウィンドウ | 基礎から学ぶ Vue.js のモーダルをそのままコピペしたら怒られた https://i.gyazo.com/fef9a3bfe8bb6aa3686b5e851d717611.gif …

【Vue】コンポーネント構文

Vue

自分は単一ファイルコンポーネント記法で実装しているのに <scripts> new Vue({ ‥ }); </scripts> のようなnew Vue記法をそのまま使ってしまって 延々とエラー‥みたいなことをしてしまったので備忘録 htmlファイル上でvueを使用する場合 new Vue を使う 例 <div id="container"> <p>{{ comments }}.</p> </div> <scripts> n</scripts>…