rhanda | 元銀行員Web系エンジニアの日記

実務未経験からWeb系受託開発企業に転職したひよっこエンジニアが覚えたことや日々の感情を残すブログ

Rails

親コントローラに入れる処理をテストしやすくするための設計

複数あるエンドポイントについてデフォルトで実行したいフィルタを、before_actionとして親コントローラに登録したいことがありました。 当初は親コントローラでメソッド定義とフィルタの登録をして、テストは各エンドポイントのテストで行うやり方を考えて…

request specのファイル名は複数形・単数形どちらにすべきか

request specを新たに追加するとき、これまであまり意識せずにファイル名を/複数形_spec.rb(ex. /users_spec.rb)としていたが、既存のrequest specで単数リソースの場合には/単数形_spec.rbとしているものもあることに気づいてどうすべきか迷ったことがあ…

E2Eテストで意識したいこと

beforeでブラウザ操作しない。 一連の操作自体がテスト対象なのでscenarioにすべて書く これはrequest specでも同じで、テスト対象のリクエストをbeforeには書かない コストが非常に高い(遅い、壊れると直すのに時間がかかる)ので、最もありうるユースケー…

【Rails】MVCとは

先日、セレクトボックスで扱いたいデータの配列をモデルに定義する際に「選択肢を日本語表示したい」と思ったことから、キーを日本語名にしたハッシュを作成しました。 しかしながらモデルは「データを扱う役割」です。 「ビューでこう表示したい」や「日本…

【Rails】gemを使わないで手軽にenumをi18nに対応させて日本語化する

不用意にgemを追加すべきでない場面もあるかと思い、学習を兼ねて取り組んでみました。 また同じようなやり方をしている記事も見当たらなかったので、記録として残すものです。 前提 今回は簡単なタスク管理アプリケーションを想定し、Taskモデルに["waiting…

デプロイしていたRailsアプリケーションでThe change you wanted was rejected.が出た

当該エラー The change you wanted was rejected. Maybe you tried to change something you didn't have access to. If you are the application owner check the logs for more information. 解決プロセス ①CSRF対策説 とりあえずエラー文でググって、複数…

Ajax通信を実装しようとしたら、Uncaught ReferenceError: $ is not definedが出た

Uncaught ReferenceError:~~is not defined 調べたところ「〜〜の変数や関数が定義されていないから使えmasenn」というエラーのようです。 また今回の$ is not definedは、「jQueryが読み込まれていない段階でjQueryの関数は使えないよ!」と言われているこ…

Webpackとは?

何度も調べまわっているような気がしたので、関連の用語をまとめてメモしてみました。 修正点・誤っている箇所等あれば、アドバイスを頂けると幸いです。 Webpackとは JavaScriptのモジュールバンドラー。 ややこしいと思ったのはWebpackerとは別物だという…

rails newをしたらPG::ConnectionBad: could not connect to server: No such file or directoryとエラーが出た

「PostgreSQLが起動していないよ」というエラーのようです。 PCの再起動によるものと思われますが、以下の方法で解決できました。 何度も遭遇している割には、復旧手順を毎回調べていると感じたので記録しておきます。 手順 ①PostgreSQLが出力するログファイ…