Nwht0xn1

WikiHub不具合日記 2016年6月15日Created on 2016-06-15 by r7kamura

WikiHubに対して少し大掛かりなデザイン変更を加えたところ、幾つか不具合を発生させてしまった。今後のために、今回の記録を残しておこうと思う。

RailsのViewでURI.escapeを使ってしまった

ActionViewの中でURI.escapeを使うと問題が起きてしまうが、これに気付かずに普通に使ってしまい、利用している箇所へのリクエストでエラーが何件か出てしまった。ActionViewでは文字列がStringではなくActionView::OutputBufferとして扱われることが多いが、こいつをURI.escapeに渡すと見事にエラーが発生する。詳細は以下のStackoverflowの質問にまとまっているので参考にされたい。

ruby on rails - Why URI.escape fails when called on ActionView::OutputBuffer? - Stack Overflow

CSSファイルをscssからimportしてしまった

_xxx.scss という命名規則ではない普通のCSSファイルに対して、他のSCSSファイルと同様に @import を適用してしまった結果、CSSの @import として解釈されてしまい、precompile後の状態、つまり本番環境ではそれが読み込めない結果となってしまった。CSSファイルは名前さえ変えればSCSSとして読み込めるので、今回はシンボリックリンクを置いて別名で読み込むことで対応した。これについては以下のページが参考になる。