messaliberty

hulor と開発チームの最新情報

Archive for 5月, 2009

[Ruby on Rails] view を編集したのに反映されない

5月 20th, 2009 投稿者: ice

Ruby on Rails 2.3.2 を使用時のこと。

時々、Rails の view を編集したのに反映されないことがある(あった)。
なぜか、編集前の古い内容が表示され続ける。

原因

app/view/* ディレクトリ以下に、例えば app/view/users/ ディレクトリ以下とか、
edit.html.erb.~BASE~ のような “.html.erb.*” で終わるファイルが転がっていることがある。
.html.erb の後にさらにドット(.) で始まる文字が付いているファイルが。
こんな感じのファイルが転がっていると rails が view を描画するときに、 edit.html.erb.~BASE~ の様なゴミファイルの方を使用してしまう。

ちなみに .~BASE~ で終わるファイルは svn (subversion) が古いリビジョンのファイルと比較をするときに作ってしまったりする。

解決策

こんな感じで *.~BASE~を削除する:

 % cd project_dir
 % find . -name "*html.*"
 ./app/views/userss/edit.html.erb.~BASE~
 ./app/views/userss/show.html.erb.~BASE~
 % find . -name "*.~BASE~" -exec rm {} \;