Can Ruby on Rails cache a Controller "as long as code is not changed"?

251 views Asked by At

At work, we have a situation where when

script/server

is run, then all the controller code is cached. This is to speed up the development server. But that will mean that whenever we change the controller code, we need to restart the server.

So we can turn off the caching of controller code all together. But can't there be mechanism that is similar to the inclusion of javascript

foo.js?1275647624   <--- UNIX timestamp

which is to use the cached version as long as there is no code change, but recompile it when there is code change?

Maybe because we use HAML and SASS a lot, loading some page (such as the homepage of the site) can take 40 seconds on the dev environment and it is quite long.

1

There are 1 answers

0
John Topley On BEST ANSWER

By default Rails will reload your classes for every request in the development environment. This should ensure that any changes are picked up. Classes are usually only cached when running in the production environment, or possibly if you have a staging environment set up.

Obviously I don't know your application, but 40 seconds to load a home page in development sounds like a long time. Are there any errors in the log?