This was a change in Mason 1.1:
- ** The base_comp is now changed for each component call, unless that
component call uses a component object for its first argument, or the
call starts with SELF: or PARENT:.
It was controversial at the time, for this reason...
If what you want in submit_notice is always the top level component,
you can use
$m->request_comp->attr('submit_notice_message')
Jon
On Jul 22, 2009, at 4:57 PM, Donald French wrote:
> My apology... I accidentally hit send. Here is my full message.
>
> I have been tasked with upgrading our Mason install from 1.02 to the
> latest version (1.4.2) and all went smoothly until I tried to access
> certain components that appear to be missing their inheritance
> chain. Keep in mind this all worked in the old 1.02 version.
>
> I have a component (/_styles/_top_level) that contains...
>
> <% $m->call_next() %>
>
> <& /_methods/_submit_notice &>
>
> <%attr>
> submit_notice_message => "Your request is being processed..."
> </%attr>
>
> In the child component (/_method/_submit_notice) I have...
>
> <div id="submit_notice">
> <% $m->base_comp->attr('submit_notice_message') %>
> </div>
>
> The child component simply accesses the attribute defined in the
> calling component however when I run this I get this Mason error:
>
> "no attribute 'submit_notice_message' for component /_methods/
> _submit_notice [html]"
>
> If I Dumper the $m->base_comp component I can see that the /_method/
> _submit_notice component is the object that is having ->attr()
> called on it and I can additionally see that in the code_cache the /
> top_level component is referenced and it contains an attr hash with
> the correct string in it.
>
> The really strange part however if that if I loop through the $m-
> >callers() array and print out the component stack and their attr
> hashes I get:
>
> PATH: /_methods/_submit_notice
> ATTRS: $VAR1 = {};
>
> PATH: /_styles/_top_level:top_matter
> ATTRS: $VAR1 = {};
>
> PATH: /autohandler
> ATTRS: $VAR1 = {
> 'hide_environment_bar' => '0',
> 'escape_from_iframe' => 1
> };
>
> The attr hash is empty for /_styles/_top_level this case. I am not
> sure this is relevant but I am mentioning it in case someone else
> has also encountered this issue.
>
> Thanks for any help!
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Mason-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mason-users
------------------------------------------------------------------------------
_______________________________________________
Mason-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mason-users