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
Mason-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mason-users

Reply via email to