試行錯誤顛末記録。 或いは日記的な何か。 Web技術寄りな雑記Blog
アキです。 以前、世界をフラフラしてました。 Webエンジニア。主戦場はRailsとVue.js。
Railsを使っていて、ある状態に当てはまらないときレコードを削除するdestroyを成功させたくないみたいなこと、あると思います。createするときのvalidationに対してdestroy時のvalidationというか。そんなときどうするか、という話です。
プロダクトが大きくなると当然modelも増えていき、それに伴いアソシエーションも増えたりして、テストの時に必要なデータを作るのが大変になってきます。 RailsとRSpecではFactoryBotというGemでテストデータを作るのがデファクトスタンダードですが、油断すると関連デ...
BulletというRailsでは広く使われているN+1検出用のGemがあります。N+1は起こらないにこしたことはないんですが、通常の設定ではViewの一部に警告されるだけで見落してしまいがちです。それをRSpec実行時にかけて、なおかつN+1が検出されたらテストをfailさせよう...
前回に引きつづきRailsのアプリケーションレイヤーでなんとかIPによるアクセス制限をかける方法の模索。今回はAuthrization(認可)用のGemであるPunditを使ったアプローチです。
わけあってRailsでIP制限できないものかといろいろやってみました。もちろんアプリケーションレイヤーではなくアクセス的にはもっと前のネットワークとかWebサーバーとかでやるほうが良いんですが、いろんな理由でそれができない場合、Railsでやってみたという話。
最近新しくRailsプロジェクトを作って開発を始めることが業務でもプライベートでもあったので、せっかくの機会にRails newするときに使えるテンプレートをちゃんにと設定してみました。
前回に引き続き今回も初学者向けRails備忘録です。 今回はDBをセットアップしたり、リセットしたりするときに使うコマンド編です。
普段RubyとRuby on Railsで開発していると「これどう違うんだっけ、どっち使うべきなんだっけ?」と思うことがそこそこあります。内容的には初心者向けですが備忘録がてら書き記しておくことにしました。 今回は値やレコードがある場合/ない場合で分岐するときに使うメソッドです...
日常的に業務でRubyを書くようになって早3年。今さら感がありますが先日、Ruby Silverに合格しました。資格のレベルとしては簡単なほうと言われますが、実務に活かす視点で考えてみました。
Gitにはコミット時やプッシュ後に特定のコマンドを自動実行するGit Hooksという仕組みがありますが、これを設定管理するためにLefthookというライブラリがあることを知りました。 今まではlint-stagedとHuskyを組み合わせて使っていましたが、試しにつかってみた...
RuboCopというRuby用のリントライブラリがあります。コードを静的解析して良くない書き方を検知したり、フォーマットにも対応しています。今回はコーディングのルールの設定の話ではなく、実行するときのオプションまわりの話。