内容 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, Ruby on Railsで使われる return if について 経緯 Module: Sorcery::Controller::InstanceMethods#require_loginで return ifが使われており、調べてみたのでメモ・備忘録として return ifはガード節 ガード(Guard)節とは、不要な処理は予め判定…
内容 Ruby on Railsのgem 'devise'について deviseの登録・認証を使用するモデルレコードのカラムデータの更新を パスワードなしでできるようにカスタマイズする方法 前提 前提① : Userモデルレコードにdeviseの登録・認証機能を使用 $ rails g devise User …
内容 devise本家では deviseの登録・認証を使用するモデルレコードのカラム更新にはパスワードを必要としています。 これをdevise本家のソースコードから追ってみます。 ソースコード追跡 Devise::RegistrationsController#update アカウント更新時に発火す…
内容 Rubyのdeleteメソッドについて deleteメソッドの使用対象のクラスの型によって 定義上、返り値が変わってしまうことに注意です。 deleteメソッドは色々なクラスに対して定義されている ・String#delete (Ruby 3.0.0 リファレンスマニュアル) ・Array#de…
内容 Railsのassets管理 経緯 経緯① : assets周りの苦手意識 Railsのassets周りに関して、どうしても苦手意識があるんですよね。。。 ・development環境・production環境問わず、最新のcssが反映されない ・Railsアプリのデプロイのとき、assets:precompile…
内容 私が今まで作成したdeviseに関する記事のリンクをまとめてます 小さな項目ごとに作成しているため、まとめ記事として (devise関連の記事を追加しましたら順次更新していきます) deviseに関する記事リスト deviseの基本的実装 【Rails】devise - devis…
内容 Rubyの三項演算子A ? B : Cについて 経緯 三項演算子が Devise::RegisterController#after_update_path_for に現れて調べたため備忘録 三項演算子とは A ? B : C は if 条件式A B #(条件式Aがtrueの時の処理) else C #(条件式Bがfalseの時の処理) end …
内容 Ruby on Railsのgem 'devise'で アカウント作成・更新した後のリダイレクト遷移先のパスの変更の方法 前提 ① deviseの登録・認証を使用するモデル設定 $ rails g devise User ② deviseのコントローラのルーティング Rails.application.routes.draw do d…
内容 Ruby on Railsのgem 'devise'で ログイン・ログアウトした後のリダイレクト遷移先のパスの変更の方法 デフォルト設定 devise本家では デフォルトのログイン・ログインした後のリダイレクト遷移先は 次のように定義されています いつ デフォルトの遷移先…
経緯 ・アカウント作成機能・ログイン機能の実装のまとめ・整理・備忘録 内容 Ruby on Railsのgem 'devise'の モジュール追加の方法 deviseのモジュール deviseで使用できるモジュール deviseのモジュールの使用方法 前準備 deviseの前準備が完了済みとしま…
経緯 アカウント作成・ログイン機能の実装のまとめ・整理・備忘録 deviseの基本実装手順をまとめる 内容 deviseの基本実装手順 devise/README.mdに記載されている内容 前準備①:deviseをインストール gem 'devise' $ bundle install 前準備② : deviseのセッ…
経緯 はてなブログの記事作成時、 コードのシンタックスにファイル名を付け加えたいと思い 内容 はてなブログの記事作成時の コードのシンタックスにファイル名表示のスタイルを追加する方法 参考 こちらを参考にしました → はてなブログでソースコード表示…
経緯 アカウント作成機能・ログイン機能の実装のまとめ・整理・備忘録 内容 Ruby on Railsのgem 'devise'の ヘルパーメソッドuser_signed_in?について ソースコード /lib/devise/controllers/helpers.rb で動的メソッドとして定義されています。 def #{mappi…
経緯 ・ユーザー登録・ログイン機能の実装のまとめ・整理の備忘録 ・開発環境localhostで動作確認をしていたら 今まで問題のなかった動作が いきなりcurrent_userがnilという旨のエラーが発生 → アカウント作成(RegisterController#create)の後ログイン状態…
経緯 ログイン機能・ユーザー登録機能の実装のまとめ・整理の備忘録として 内容 gem 'devise'のヘルパーメソッドcurrent_userについて ソース current_userメソッドの定義されているのは lib/devise/controllers/helper.rb のようです。 current_userメソッ…
経緯 Gemで定義されているメソッドのソースコード検索で 、 [Go to file] → 検索ワード入力 で表示される結果はファイル名検索なので、 「メソッドはどのファイルで定義されているか?」などがわからないな、 と思い 内容 GitHubリポジトリのソースコード内…
経緯 ユーザー登録機能・ログイン機能を ・gem 'sorcery' ・ gem 'devise' で実装したことはあるものの、整理できていないので備忘録でまとめたいと思い 内容 Ruby on Rails でユーザー・ログイン機能を実装するときに使用する gem 'device'の authenticate_…
自分、どこのブランチにいるんじゃ ことあるごとにブランチ作って!マージ!を繰り返すと $ git branch で自分のいるブランチの位置がわからなくなる事態に (この時、masterブランチにいるのですがスクロールしないと表示されない) alias ./ gitconfig [alia…
CSSだけで自動スクロール‥だと!? qiita.com 参考にスクロールできるか やってみたら実際できて驚き このような動きをつける実装では swiper.jsで 「動かない‥動かない‥」と頭悩ませた記憶 が(笑) そんなパターンが多かったのですが すんなりできたのでほ…
v-forでレンダリングできない構造? [ [{ },{ }, ‥ ,{ } ], [{ },{ }, ‥ ,{ } ], ‥ ,[{ },{ }, ‥ ,{ } ] ] というデータの配列構造のデータを作成して v-forで要素をリストレンダリングさせようとしたら できなかった [ { [ { }, ‥ ,{ } ], ‥ , [ { }, ‥ ,{ …
JWT認証のユーザー登録機能を VueでhandleRegisterメソッドに 定義 axios → Promise → handleRegisterメソッド発火としたら CapybaraでNetwork Errorの応酬 // auth.service.js class AuthService { register(user) { return axios.post(API_URL + 'users', …
rubyの自己演算子始めて使ったのでメモ 【Ruby】使いこなせると便利。||演算子のいろんな使い方 - Qiita def authenticate! payload, _ = Jwt::TokenProvider.decode bearer_token @current_user ||= User.find(payload['user_id']) end @current_userがnil…
mutations/actionsでメソッドを作る 1から各コンポーネント のメソッドを Vuex Storeへ移行することをやりました 各コンポーネント内でのメソッドの定義は Vuex Storeでのmutations / actionsの定義に対応 引数の理解は必須ですね‥ わかりやすくまとめてあ…
各コンポーネントのmethodsのVuex Store移行をやっていたら 「mutationsとactions、2つある必要ないのでは?」 と疑問が出たので調べてみると VuexのMutationとActionの切り分け - Qiita そもそもMutationは同期処理でなければならなず、> Actionは非同期処…
axiosのCRUDのうちの更新メソッド実装で使いました spliceメソッド: Array.prototype.splice() - JavaScript | MDN sliceメソッドは もとの配列から要素を削った配列を返すものに対し、 spliceメソッドは要素追加、置き換えもできる (splice : より継をする…
条件をみたす配列の要素の位置(先頭から○番目)を返すメソッド Array.prototype.findIndex() - JavaScript | MDN axiosの更新メソッド実装の時の [更新用データid]と[既存の更新前データid]のid照合 に使用しました
axiosを使ったCRUD実装(vuex)で 延々と更新(U)ができずに詰まったので ここに備忘録を記す‥。 はしです。 詰まった理由は ずばり「idを渡していなかったから」 更新にはそのレコード (Vue的にはprops)のidがないと 「更新用として作った新しいpropsを既存の…
Vueのモーダル実装トラウマになりつつあるはしです。 フロントのエラー、一度でたらなかなか抜け出せない モーダルウィンドウ | 基礎から学ぶ Vue.js のモーダルをそのままコピペしたら怒られた https://i.gyazo.com/fef9a3bfe8bb6aa3686b5e851d717611.gif …
自分は単一ファイルコンポーネント記法で実装しているのに <scripts> new Vue({ ‥ }); </scripts> のようなnew Vue記法をそのまま使ってしまって 延々とエラー‥みたいなことをしてしまったので備忘録 htmlファイル上でvueを使用する場合 new Vue を使う 例 <div id="container"> <p>{{ comments }}.</p> </div> <scripts> n</scripts>…