大文字小文字、単数複数にご用心

Rails 2.3で途中まで作ったWebアプリは長期放置モード。ブランチ間違いでごちゃっと壊れた感じがして、それをgitを使いこなして修復するのが面倒だなぁと思っているうちに月日は流れ、そのうち、これはぼくには完成させることはできそうもないという気になってきて打っちゃってしまった。

気を取り直してRails3+Ruby1.9.2で再び作り始めた。今度はrvmも入れて、ちゃんとgemsetsやbundlerでgemもすっきり感ある。

で、着々とプラグインを試したり、実現したい機能を個別に作っては壊しで試したりして、だいたい必要な知識というか超荒っぽい手順書はできたような気がする。Railsって試しに作るのが手軽でいい感じ。ガンガンディレクトリ掘って、ガンガン壊す。やってる間に細々としたことを覚えるし、必要なgemをGemfileに追記するためのスクリプトなんかも書いたりして。

モデルに画像を簡単に添付できるPaperclipでハマった。前に一度使ってみたことがあるし、Rails3でも同じだけど、どうもImageMagickが正しく呼び出されておらず、画像のサムネイルが生成されない。ファイルの保存パスのせいか、ImageMagick関連コマンドにパスが通ってないのか。MacPortsで入れたImageMagickだって別に何も変えてないし、よく使ってるので、意味が分からない。色々ググると、いちばん多いパターンはやっぱりパスの問題のようで、Paperclip.options[:command_path]="/opt/local/bin"みたいなことを、初期化ファイルあたりに書けばいいとある。ところが、やってみても全然だめ。

とりあえずと思って、MacPortsImageMagickのアップデートをしてみたら、えらい多くの依存ライブラリのコンパイルがおっぱじまってしまった。Macは熱くなるし、全然解決の糸口が見つからないしで1時間。なんだか挫けそう。

問題は、「:styles」と書くべきオプションを「:style」と単数で書いていたことで、ぼくとまったく同じ間違いの人がStackOverflowで指摘を受けていて「えっ、まさかオレも?」と思ったらドンピシャだった。もう頼むよー、なんでハッシュでオプションを渡したからって、知らないオプション無視するの? 知らないなら知らないと言ってくれなきゃー、と他人のせいにしたくなった。こういうのってRailsだと普通なんだろうか。