[Seaside] Do not call #renderContentOn: directly (was: gotos with
2.3b?)
Ragnar Hojland Espinosa
ragnar at linalco.com
Fri Jun 6 11:50:49 CEST 2003
On Thu, Jun 05, 2003 at 06:09:37PM -0700, Derek Brans wrote:
> > The problem is you are calling a component's #renderContentOn: directly.
> > You should never do this (this should be a private method) and I'll
> explain
> > why in a moment. Instead, you need to say something like "html render:
> > yourComponent" or "yourComponent renderOn: html"
> >
> > Doing it the latter way allows the seaside component system to choose to
> > call the #renderContentOn: of a component, or that of the component's
> > delegate. See WAController>>renderActiveControllerWithContext:
> >
> > Calling #renderContentOn: directly, as you do in Exodus>>renderContentOn:,
> > forces Seaside to render that component, even if the component has a
> > delegate.
Ahhh, I see. Yes, that indeed fixed it, thanks.
> > In Seaside, a delegate is a component that temporarily masks another
> > component (ie the delegate is rendered in the place of the delegating
> > component). For example, when you say:
> >
> > "component1 call: component2"
> >
> > component2 is rendered in place of component1 for the duration of the call
> > (component2 is the delegate). #goto: is a more permanent delegation than
> > #call:
I suppose goto is now #delegate: right?
--
Ragnar Hojland - Project Manager
Linalco "Especialistas Linux y en Software Libre"
http://www.linalco.com Tel: +34-91-5970074 Fax: +34-91-5970083
More information about the Seaside
mailing list