I think we still have a miss understanding
The client_id code clientBox map (_.id.toLong) work ok .. no problems
with that
What doesnt work would be doing something like :
val clientBox = ViewClient.currentClient
def processEntry () {
inInvoice.client (clientBox.open_!)
inInvoice.save
S.notice ("Entre : Description " + inInvoice.description + "
Montant : " + inInvoice.amount)
}
Since in this case inInvoice.client (clientBox.open_!) return an empty
box since the RequestVar has been destroyed ...
So I was trying to do this but I need to copy or ref the RequestVar so
that I use it in the next request...
At first I tought because of the closure it would ref it... but it
seems not..
It's looking more and more like a statefull snippet is the way to
go...
On Mar 9, 11:10 am, Lukasz Kuczera <[email protected]> wrote:
> Ok i think I see the "bug". It is the magic which i don't understand
> yet that if you change your client_id from val to var it will be auto
> promoted into Heap and live out Snippet. Try this out.
>
> Change:
> val client_id = clientBox map (_.id.toLong)
> To:
> var client_id = clientBox map (_.id.toLong)
>
> On Mar 9, 3:34 pm, hexa <[email protected]> wrote:
>
> > Hi, thanks for the suggestions I like that match {} code.. will try
> > that..
>
> > But what you suggest but the post_id is similar to what I'm doing
> > now.. since this id is a long it will be copied by value
> > and I can pass it to multiple requests using a closure...
>
> > I'll try to clarify a bit :
>
> > A have a ViewClient snippet and an AddInvoice snippet
>
> > In the ViewClient I add the action AddInvoice which must be bound to
> > a client..
>
> > Now passing the client to the AddInvoice form is ok .. I can send the
> > whole client object to the form snippet using a RequestVar..
> > which I find kinda neet not having to go trough thoses ids... (maybe
> > i'm wrong thinking that)
>
> > But the trick is now that i'm in the AddInvoice snipped and that I
> > have my RequestVar...
>
> > I would like to form a closure on it.. an keep it for the post request
> > so that it gets to ProcesssEntry and I do just :
>
> > inInvoice.client (client)
> > inInvoice.save
>
> > As so no ids are involved...
>
> > I would need to make a new RequestVar for the post submit with a copy
> > of the input RequestVar I got in the AddInvoice from the ViewClient
> > snippet
>
> > But a SessionVar is out it's way overkill and a statefull snippet....
> > might be an idea ... would the RequestVar persist in the statefull
> > snippet?
>
> > Also I'm having trouble understanding how that scoping is done for the
> > RequestVar if anyone could shed some light on it... like why a closure
> > won't "ref" it... (I'm new to scala)
>
> > Thanks
>
> > hexa
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.