Published on2024年7月6日Railsの権限統制Gem「CanCanCan」を深堀りしてみたRailsCanCanCanを利用しようとしてみて、便利な半面、正しい使い方ができていなくヒヤッとしたパターンがありましたので、残しておきます。
Published on2024年5月26日Rails Adminが取り扱う全てのモデルのINDEX,SHOW,EDITを表示チェックするrspecRailsRailsAdminRspecあるモデルのRails Adminページがいつのまにか壊れていた、ということが起きないように作りました。また、このspecを導入すると副次的にですがRails Adminに登録するモデルはファクトリーの作成が必須になるので、記憶が新しいうちにファクトリーの作成を義務付けれるのは良い制約だとも思ってます。
Published on2024年4月21日【Rails】gem無しで遅延実行を実現できるrack.after_replyを試してみたRailsRackHTTP通信など時間消費の大きい処理でユーザー体験を損なわないよう、ジョブキューを使う方法より簡易な方法がないか調べたところ、Githubでも採用されているrack.after_replyを知ることができました。
Published on2023年7月8日ワタシ的Next.js、Rails間のAPI通信ベストプラクティスRailsNext.js未完。日々メモを足してます。フルスタックな視点で最適なライブラリ選定、シリアライザーの責務、型の運用方法、ファイル構成を考察します。
Published on2023年5月19日カラム追加時にupdated_atの後ろに来ないように、常に場所を指定させるrspecRailsRspecいつうっかりカラム追加時に場所を指定せず、timestapmsの後ろにカラムが追加されてしまって見栄えが悪くなってしまうので、updated_atが一番後ろにないとコケるテストを作成してみました。 rubocopにこういうルールあってほしいのだけど、見た感じなさそう
Published on2022年12月22日ControllerにincludeしてるConcernを単体テストするRailsroutesとcontrollerをモックすることで、includeしたControllerとしてテストするのではなく単体テストが実現できました。
Published on2022年11月16日transient使おうとしてTrait not registered referenced within definitionRailsRspec見ている情報が古かったのか、ずっと誤った書き方をして以下のエラーと格闘していました KeyError: Trait not registered: "title" referenced within "article" definition
Published on2022年8月24日全RakeタスクにグローバルにhookをつけるRails調べてみると`Rake::Task.tasks.each`で全タスクにenhanceする例が多く見つかったが、そうなると:environmentなど継承先のタスクにも付与されるからか、なぜか私の環境では実行したいタスクより先に実行されてしまった。 これを防ぎ正しく後から実行するには`Rake::Task[Rake.application.top_level_tasks[0]]`と指定する必要があった
Published on2022年4月7日AWS LambdaでRailsのマイグレーションを秒殺する基盤を作ったAWSAWS-LambdaRailsTerraformLambdaでRailsを動かしてマイグレーションすれば、コストもかからず、かつ秒で終わるので高速だった。高速化したい・CIにマイグレーション乗せたい・ECS使いたくない・RDSがプライベートサブネットにあって常時起動してる踏み台がないパターン向け
Published on2022年3月30日WEBフレームワークをDockerで作るワンライナーDockerNext.jsRailsNext.jsとRuby on RailsのプロジェクトをDockerを通じて環境依存せず指定した言語バージョンで構築する
Published on2022年3月27日React on Railsで本番イメージをNodeレスにしたDockerReactRailsCircleCINextとしてサーバーを建てるのではなく、RailsのViewからscriptタグでJS配信するだけなら、本番イメージ内にインストールする必要ないのでは?と思ったらできた話