View changes not appearing (have to restart server to see them)

My setup is as follows:

Codebase on local machine (OS X), shared using samba.
Application environment (ruby, gems, mysql etc.) within a Ubuntu
Server install running inside a Parallels VM.

The problem is whenever I make changes to the views the changes do not
appear in the browser, I’ve also run Charles and I can see that the
response does not contain the changes (but it does return a fresh 200
status after the change and then goes back to 304 Not Modified if I
continue to refresh). The only way I can get the view changes to
appear is by restarting the appropriate HTTP server (I’ve tried
Mongrel, Webrick and Passenger).

When Mongrel starts it does say “** Starting Rails with development
environment…” so it’s not that it’s running in production mode, and
I’ve done the config with Passenger to ensure it’s not running in

As you can probably understand this is causing my development cycle to
be a lot slower than it should be. Any advice is greatly appreciated.


p.s. I don’t think that the samba share is an issue, as autotest sees
the file changes instantly and re-runs the appropriate test when
that’s running.

Ok, I’ve just found this… it seems it could be the fact that I’m
using a network share… why would that make any difference?



We have exactly the same problem: the changes in views needs a restart
to take effect. Changes in controllers/models don’t.

I’m not using any network share…

No, I don’t use any caching in development.rb/environment.rb

If I switch from Rails Edge to the 2.1 gem, the problem desapears.

Couple of things come to mind -

#1. Are you using any mofifications in
for example, page caching, etc?
#2. If you hit the Mongrels directly, does it exhibit the same behavior?
(try rule out Passenger.)