紙一重の積み重ね

アラフォーのエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

Rails

【レポート】Ruby World Conference 2020にはじめて参加してきました

はじめに 2020年12月17日に開催された、Ruby World Conference 2020にはじめて参加しました。今回は、新型コロナウイルスの影響により、オンライン開催でした。 2020年のうちにセミナーレポートを投稿します。 視聴URL www.youtube.com 開会 実行委員長のMat…

35歳から #Railsチュートリアル を学んで3年後にプロダクトリーダーになった話 #Qiita

はじめに この記事は、Qiita Rails Advent Calendar 20日目の記事です。 qiita.com 2017年にRails チュートリアルを学んでから、約3年経過しました。35歳で初めて Rails を学んでからプロダクトリーダーになるまでの私のキャリアを振り返りたいと思います。 …

#Railsチュートリアル 法人プラン導入のインタビューを受けました

はじめに 3ヶ月前の話で恐縮ですが、Rails チュートリアルを提供しているYasslabさんからインタビューを受けました。 インタビュー記事 note.com インタビュー動画 YouTube にもアップ頂きました。ありがとうございます! www.youtube.com インタビューを受…

【Rails】gem aws-sesは署名バージョン3なのでAWS公式のaws-sdk-railsの利用がいいと思う

はじめに 2020年10月1日以降、SESでは署名バージョン4を使用する旨のAWSからメールが届きました。gem aws-sesを使っている場合、メールが送信できなくなる問題が起こりそうなのでメモ。 AWSからのアナウンス AWS SESでは、署名バージョン4を使え、とのこと。…

【Rails】Shoryukenを使った非同期処理で Error while trying to deserialize arguments: Couldn't find エラーが発生したときの対処法

はじめに Shoryuken を使った非同期処理にハマっているのでメモ。 やりたいこと Shoryukenを使ってメール処理を非同期で送信したい ActiveJobのキュー保存先はAWS SQS github.com 発生したエラー 2020-01-23T06:44:31Z 9395 TID-goxzcpc3k ActiveJob/ActionM…

【Devise】ユーザのメール認証が成功した際に、管理者向けにメール送信処理を組み込む方法 #ruby #Rails

はじめに 最近、Deviseをいじる機会があったのでメモ。 やりたいこと Deviseのメール認証に成功した後に、管理者向けに「ユーザがメール認証したよ」的なメールを送信したい send_user_confirmed_emailみたいな感じ 困ったこと 素直に実装すると、ユーザがUR…

【Rails5 + Postgres10】pgcryptoを使ってuuidを実装する方法

やりたいこと URLにidを使っていると、値を変更して他のユーザの情報が見れたり、データ数の推測ができてしまう。これを避けたい。 https:example.com/user/1/hoge ではなく、 https:example.com/user/76a049b8-d280-49e8-917f-d7b28107c660/hoge というよう…

【Rails5】axlsx_railsを使ってCSV出力機能を実装する

はじめに axlsx_railsを使ってCSV出力機能を実装するメモ。 やりたいこと Rails5アプリケーションからCSVを出力したい 実現方法 gem axlsx_railsを使う github.com 実装方法 gemインストール gem 'axlsx_rails' MIMEの登録 長いので\config\initializers\mim…

【Rails5】Punditを使って権限管理の機能を実現する

はじめに Punditを使った権限管理の実装方法のメモ。 やりたいこと 権限管理の機能を簡単に実装したい。 実現方法 Punditを使う。 github.com 実装 application_controller Punditをインクルードする class ApplicationController < ActionController::Base …

35歳のエンジニアがRailsと出会って人生が変わった話 #Qiita #Rails

はじめに この記事は、Ruby on Rails Advent Calendar 2018の12日目の記事です。 qiita.com SIerで働く35歳のエンジニアが、Railsと出会って変わったことについて書きます。 私のこれまでの経歴 文系新卒でパッケージベンダっぽいSIerに入社 現在14年目ぐら…

【Rails5 + Slim】ブラウザのメニューバーやツールバーなどを表示せずに、リンクを新しいウインドウで開く方法

やりたいこと リンクを別のウインドウで表示したい 別のウインドウには、ブラウザのツールバーやメニューを表示したくない 別ウインドウの大きさは手動で調整できるようにしたい やりたいことのイメージ 楽天銀行のログイン画面のこういうやつ www.rakuten-b…

binding.pryでデバッグ中に、意図的に例外を発生させてrescueでキャッチする方法 #Rails5

やりたいこと binding.pryでデバッグ中に、rescueで実装した例外処理を確認したい。 実現方法 raiseを使う。 実装例 def update @hoge ||= hoge ApplicationRecord.transaction do binding.pry # 例外発生 raise ActiveRecord::RecordInvalid.new(@hoge) @ho…

【N+1問題対策】Ransackとincludesメソッドを使ってActiveRecordの多段の関連を検索する方法 #Rails5

はじめに N+1問題を解消するために、複数の関連を持つModelをincludesメソッドで解消する方法をメモ。 実行環境 Rails5.2.0 Ransack Slim Model定義 Userに持っている名称と、Corporationに持っている名称を取得したい。 class User < ApplicationRecord has…

【Rails5.2.0】ActiveRecord::DangerousAttributeError association is defined by Active Record. が発生したときの対処法 #Rails #ActiveRecord

はじめに Rails5.2.0でアプリケーションを開発中に見慣れないエラーが出たのでメモ。 実行環境 Rails5.2.0 ActiveRecord5.2.0 PostgreSQL 9.6 発生したエラー ActiveRecord::DangerousAttributeError association is defined by Active Record. Check to mak…

【ActiveRecord5.2.0】JoinDependencyのコンストラクタの引数の仕様がいろいろ変わっている事に気づかず、3日くらいハマった話。#Rails #ActiveRecord

はじめに Rails5.1.1で動かしていたプログラムを、Rails5.2.0で動かしたら、JoinDependency.newでエラーが発生した。 いろいろ回り道して調べた結果、ここ3日くらいハマってしまったのでメモ。 発生したエラー wrong number of arguments (given 3, expected…