I was having trouble with a Capistrano script, getting a Rails 2.0.2 
app to reboot. So a few weeks ago I was experimenting in SSH with 
different commands (I needed 'mongrel_rails cluster::restart').

To see if the app actually rebooted, I made a small edit to a shared 
.html.erb file that put up a nav bar. When I finally found the 
correct reboot command, the change appeared in my browser, but not before.

Yesterday I was trying another variation on the reboot command in 
SSH. I happened to make a change to the .html.erb file and refreshed 
the browser before trying to reboot. Imagine my surprise when the 
change appeared in the browser!

I thought in production mode that once the Rails code was loaded it 
was basically ignored, that a reboot was necessary to see changes to 
it. I asked support at HostingRails.com and this is what they said:

Hi - Please note that there is no need to restart the app to get the 
changes done in the view files online. We need to restart the app 
when we make changes to any configuration or other app files. Changes 
done on view files will be taken without a restart.

Doesn't this depend upon caching? Why would this behavior change from 
a few weeks ago?

I don't see anything in environment.rb about caching and 
production.rb contains:

# Settings specified here will take precedence over those in 
config/environment.rb

# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true

# Use a different logger for distributed setups
# config.logger = SyslogLogger.new

# Full error reports are disabled and caching is turned on
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching             = true

Can anyone tell me what's going on?

Thanks,

Scott


--~--~---------~--~----~------------~-------~--~----~
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
-~----------~----~----~----~------~----~------~--~---

Reply via email to