20165


Railsは`routes.rb`で書いた内容のpathヘルパーとurlヘルパーが作られます。

`routes.rb`の構成をみなおして（リファクタリングして）変更してしまうと、  
プロジェクト内の`*_path`と`*_url`で該当のものも同様に修正しないといけません。

仮に修正漏れがあった場合、該当ヘルパーの処理が走るまでわかりません（実行時までわかりません）。

未然に防ぐためにリファクタリングの段階でわかる方法はありませんでしょうか？


CC BY-SA 3.0
2015-12-17T13:10:59.520
20120
2015-12-19T01:02:40.923
9008
question
ruby-on-rails ruby
pathヘルパーやurlヘルパーが無効になってしまった行を見つける方法はありますか？


Rubyは動的型付け言語なので難しいと思います。

  * アプリケーション全体をgrep検索して怪しいコードを見つける
  * 統合テスト（RSpecのフィーチャスペック等）を事前に書いておいて、テストでエラーが出ないことを確認する

ぐらいしかないのではないでしょうか？

ちなみに、pathやurlのリファクタリングに限らず、Railsや各種gemをバージョンアップしたときなど、「実行するまで正常に動作するかどうかわからない」というケースは今後もよく出てくると思うので、テストはなるべくたくさん書いておく方が後々楽になると思います。


CC BY-SA 3.0
2015-12-19T01:02:40.923
20165
2015-12-19T01:02:40.923
85
20120
answer