[Catalyst] Automatic passing of objects to DBIx::Class
garrison at zeta.org.au
Sun Feb 28 08:41:29 GMT 2010
On 28/02/10 at 8:58 AM +0200, Ido Perlmuter <ido at ido50.net> wrote:
>I've been racking my brain trying to find a way to automatically pass an
>object, for the matter the Catalyst::Request object, to DBIx::Class methods.
>I cannot and will not pass it myself every time I call a method in my
>schema. While I do believe the model and the app should be completely
>separated, further information must flow between the two.
I think you're looking for ACCEPT_CONTEXT or InstancePerContext.
That's how I solved passing values from Catalyst to DBIC.
I seem to recall reading that you should decide what data/values
your DBIC model needs, and then only pass those in
ACCEPT_CONTEXT, rather than passing whole objects like $c->req.
That way when you use a different front-end, you don't have to
mock a $c->req object, you simply pass the values the DBIC
In your example you want the "user ID and the user IP" so grab
those from $c->req during ACCEPT_CONTEXT (or
build_per_context_instance) and pass them to your schema.
Ꮚ Charlie Garrison ♊ <garrison at zeta.org.au>
〠 PO Box 141, Windsor, NSW 2756, Australia
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
More information about the Catalyst