Forum: Ruby on Rails Tip, may even be useful

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Al E. (Guest)
on 2006-05-07 01:44
Here's something that caused me a couple of hours of head-scratching

Apparently, if your model doesn't derive from ActiveRecord, it is NOT
reloaded for each operation in the development environment.

I was working with something that uses a single model per session, and
stores its data in the session. I kept wondering why I didn't see my
changes. Finally, I changed the way I was naming a temporary file, and
saw that it was distinctly NOT changed in the running application.

A light went on, I restarted the server, and things went much better
after that.

I suspect there's an easy way to force the re-loading. Anybody know what
it is?

--Al Evans
Ken K. (Guest)
on 2006-05-07 01:57
(Received via mailing list)
As stated in section C2 of the second edition of AWDR (pages 102 -- 103
my brand-spanking new PDF):

"So far we've been enjoying the fact that Rails automatically reloads
program files before handling each new request in development mode.
However, that's not the full story.  In fact, Rails only reloads those
_that it knows about_ [italics in the book].  If one of our files
a standard Rails class, then Rails knows about it, and manages
... we can tell Rails to reload our models by including a single
[bold in original] directive in each."

The illustration then adds the line "include Reloadable" in both the
class and the CartItem class.

"Including _Reloadable_ says 'treat the Cart and CartItem classes as if
were like any other Rails model, and reload them before each request.'
In future, we'll remember to add the _include Reloadable_ line in
non-database models, and we won't have to restart."

There's your answer. :)

Ken K.

Kenneth A. Kousen, Ph.D.
Kousen IT, Inc.
Alex W. (Guest)
on 2006-05-07 02:51
Ken K. wrote:
> The illustration then adds the line "include Reloadable" in both the
> Cart
> class and the CartItem class.

you rock, I have torn some hair due to this as well.
Al E. (Guest)
on 2006-05-07 17:17
Ken K. wrote:

> There's your answer. :)

Thanks! I got the PDF the other day, but I've been too busy programming
to look at it:-)

--Al Evans
This topic is locked and can not be replied to.