2015-02-20
■ [ruby][memo] Sinatraでundefined method join for stringが出る
ちょっとSinatraでアプリを書いているのだけど、undefined method
join' for String`みたいなエラーでちょっとはまってしまった。
Slim
原因の一つ目は「テンプレートエンジンにSlimを使っていて」「partialをレンダリングしようとした(?)」ときに出るもので、slimとtempleを最新版(slim 3.0.2, temple 0.7.5)に上げたら直った。
Sinatra
で、実は同じエラーが出るケースがSinatra本体にもある。こちらは「例外が発生し、show_exceptionで例外ページを表示しようとしたとき」に起こる。
とりあえずこのコミットで治るらしいので、Gemfileに以下のように書いて凌ぐことにした。
gem 'sinatra', git: 'https://github.com/sinatra/sinatra.git',
ref: '5f6168bfc92280892e819df524d4508cf9032f6d'
# for https://github.com/sinatra/sinatra/issues/961
sinatraの件、同じ現象ではまっていました。ありがとうございます、解決しました。