【Rails】SorceryのGitHub認証でコールバックURLを動的に変える
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
コールバックURLを動的に変更する こんな感じで@provider.callback_urlを入れる。 1 2 3 4 5 6 class OauthsController < ApplicationController def oauth login_at(auth_params[:provider]) @provider.callback_url = 'https://www.google.com/' end end Gi

【AWS】MFAカスタムポリシーを追加して、最小権限のIAMを作成する
· ☕ 3 åˆ†ã§èª­ã‚ã¾ã™
IAMとは AWS Identity and Access Management (IAM) は、AWS リソースへのアクセスを安全に管理するためのウェブサービスです。IAM を使用して、リソースを使用するために認証

【Rails】ネストされたattributes_paramsをフォームからコントローラに渡す
· ☕ 5 åˆ†ã§èª­ã‚ã¾ã™
はじめに フォームからネストされた値を渡し、ストロングパラメータとして取得するだけのサンプルコードです。 フォームオブジェクトはフォームオブジェ

【Rails】database.ymlって何?
· ☕ 3 åˆ†ã§èª­ã‚ã¾ã™
はじめに RUNTEQ内でチーム開発をしているのですが、みんな大好き環境構築は最初の難関でございます。 特にデータベースでハマったことがない人は

【Rails】複数レコードを一括操作するルーティング
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
post has_many commentsのアソシエーション。 postに紐づくcommentを全て削除するとき、理想ならこんな感じのエンドポイントにしたい↓ DELETE /posts/:post_id/comments が

【VSCode】最低限の設定(settings.json, 拡張機能)
· ☕ 5 åˆ†ã§èª­ã‚ã¾ã™
VSCodeを使うときに最低限しておくと便利な設定をまとめました。 最初はsettings.jsonだけでしたが、この記事だけで最低限がまかな

【Rails】index_byとgroup_byを用いて取り回しのきくハッシュを作成する
· ☕ 3 åˆ†ã§èª­ã‚ã¾ã™
要件の例 Question -< Answer >- User question has_many answers user has_many answers 問題があらかじめ用意されていて、ユーザーはそれぞれ問題に解答する(1問につき1解答)。 このとき、以下のようなペ

【Ruby】slack-notifierでユーザーグループにメンションを送る
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
ユーザーへの通知 ユーザーグループIDの取得方法 ブラウザからSlackにアクセスする。 ユーザーグループを選択すると、URLがこんな感じになるの

【Netlify】Google Search Consoleを導入する
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
Google Search Console よくわからんがドメインにする。 Netlify の設定 サチコに戻って「確認」 特にタイムラグはない。 完了!! わーい!!楽しみですね!! ヨシ(๑•̀ㅂ•́

ゲストログインについての議論の過程
· ☕ 2 åˆ†ã§èª­ã‚ã¾ã™
よくあるゲストログイン ゲストユーザーをあらかじめ作成しておいて、そのユーザーとしてログインする。 Sorceryを使った実装を例とする。 1 2 3

【Rails + MySQL】AWS→herokuの移行
· ☕ 4 åˆ†ã§èª­ã‚ã¾ã™
環境 Ruby 2.6.6 Rails 5.2.4.4 Vue 2.6.11 MySQL 8.0→5.7 流れ herokuデプロイ用のブランチを作成する 切ったブランチからherokuにデプロイする DNSの設定をする

【SQL】トランザクションの切り方
· ☕ 2 åˆ†ã§èª­ã‚ã¾ã™
RSpecをctrl + Cで中断したら、その後こんなエラーが。 1 2 3 4 5 6 7 Failures: 1) なんちゃらかんちゃら Failure/Error: create(:user) ActiveRecord::TransactionIsolationConflict: Transaction isolation conflict detected: Lock wait timeout exceeded; try restarting transaction どうやらRSp

【Rails】eager_load, preload, joins入門
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
joins 1 2 [1] pry(main)> User.joins(:tags) User Load (21.3ms) SELECT `users`.* FROM `users` INNER JOIN `registered_tags` ON `registered_tags`.`user_id` = `users`.`id` INNER JOIN `tags` ON `tags`.`id` = `registered_tags`.`tag_id` 1 2 3 select * from tables inner join other_tables のオーソドックスな形。 eager_load 1 2 [3] pry(main)> User.eager_load(:tags) SQL (0.7ms) SELECT `users`.`id` AS t0_r0, `users`.`twitter_id` AS t0_r1, `users`.`uuid` AS t0_r2, `users`.`name` AS t0_r3, `users`.`description`

『Next.jsとFirebaseで質問箱のようなサービスを作る』の感想メモ
· ☕ 2 åˆ†ã§èª­ã‚ã¾ã™
Next.jsとFirebaseで質問箱のようなサービスを作る Reactチュートリアルをとりあえずよくわからないながらやったくらいのレベル感

【Ruby】業務で得た小ネタ的知識まとめ
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
自分が指摘されたり、書いてあるコードを見て「なるほど〜〜」と思ったやつ。 フルネーム表記の仕方 1 2 3 "#{last_name}#{first_name}" # じゃなくて [last_name, first_name].compact.join(' ') 「1対多(0)もあり」

【Rails】STIのアソシエーション
· ☕ 2 åˆ†ã§èª­ã‚ã¾ã™
STIとポリモーフィックの違い ポリモーフィック STI 関連テーブルが複数ある 複数モデルで1つのテーブルを共有する 自分と紐づく親が複数 基幹モデルを継