View Chart:

Show Record

Show Cart Main Panel:

Show Record

Comments

Assigning to Ralph; Ralph, please review and attempt a fix for the next mini release.

Posted by Paul Tomlin (ptomli) on 2008-07-17T03:44:19.000+0000

I can confirm the issue, and have worked out some vague understanding of the reason, and a solution.

It appears that nested actions prepend the previous response, or append the current one (depending on your standpoint)

If C actions B actions A

A results in A
B results in ABA (should be BA)
C results in ABACABA (should be CBA)

Blind digging in the code brought me to think this might have something to do with the fact that the request/response instances used in the helper are cloned in the constructor, and remain the same instances throughout the lifetime of the helper.

Exactly how this creates the situation above I have no idea, but creating new clones of the request/response objects (from the front controller) at the start of the 'action' method, and using them instead of the instance members produces the correct response.

I'd attach a patch, but I think someone who understands the issue would be better placed to produce something suitable.