Wow, that is so thorough and clear and helpful.

Thank you very much.

On Monday, November 5, 2012 6:00:37 AM UTC-8, Bryan Larsen wrote:
>
> Here's a simplification of your code. 
>
> <do with="something_else_completely"> 
>    <% @cu = CompanyUser.find(foo) %> 
>    <div part="pledgeform" id="pledgeform-#{typed_id}"> 
>       <form with="&@cu" update="pledgeform-#{typed_id}"> 
>           ,,,, 
>
> 1:  the typed_id for pledgeform is going to return the typed_id for 
> something_else 
>
> 2:  the typed_id for the form is not clear.   Does it get evaluated 
> before or after the with= statement?   You may know, but it's best to 
> assume that anybody else working with your code doesn't.  I really 
> like do statements for changing contexts to make this clear. 
>
> 3:  When redoing the part, Hobo will set the context to 
> something_else, then try to switch it to @cu when it hits the form. 
> However, @cu won't be set, because it's set in a piece of code outside 
> the part.  Only view code inside the part is run when the part is 
> redisplayed. 
>
> Option #1: 
>
> <% @cu = CompanyUser.find(foo) %> 
> <do with="&@cu"> 
>    <div part="pledgeform" id="pledgeform-#{typed_id}"> 
>       <form update="pledgeform-#{typed_id}"> 
>           ,,,, 
>
> In this piece of code, the <% @cu = CompanyUser.find(foo) %> code only 
> runs once.  Hobo remembers the id of the CompanyUser, and reloads it 
> from the database when resurrecting the part, so you're guaranteed to 
> get the same CompanyUser when redisplaying the part. 
>
> Option #2: 
>
> <% @cu = CompanyUser.find(foo) %> 
> <do with="&@cu"> 
>    <div part="pledgeform"> 
>       <form ajax> 
>           ,,,, 
>
> This is the same as option #1, except it takes advantage of some new 
> features in Hobo 2.0.   See 
> http://cookbook-1.4.hobocentral.net/manual/changes20#multiple_parts 
> for more details. 
>
> If it's possible that you want a different @cu when redisplaying the 
> part, use a form similar to: 
>
> <do with="&nil"> 
>    <div part="pledgeform"> 
>       <% @cu = CompanyUser.find(foo) %> 
>       <form with="&@cu" ajax> 
>           ,,,, 
>
> `do with="&nil"` outside of a part definition is a good pattern to use 
> so that Hobo doesn't go to the work of resurrecting a context that 
> you're immediately going to throw away. 
>
> If you're using this form, you have to take care to ensure that `foo` 
> has validity, either by defining it as a helper method, as a variable 
> inside your controller or by using part locals: 
> http://cookbook-1.4.hobocentral.net/manual/ajax#local_variables 
>
> cheers, 
> Bryan 
>
> On Sun, Nov 4, 2012 at 10:45 PM, [email protected] <javascript:> 
> <[email protected] <javascript:>> wrote: 
> > OK, I implemented this today. It seems to work except for the Ajax 
> updating. 
> > The problem seems to be that the typed_id is not being substituted into 
> the 
> > id field. 
> > 
> > The code for the H2 version is here: 
> > 
> >      http://pastie.org/5187078 
> > 
> > and, as an example, the generated HTML is: 
> > 
> >      http://pastie.org/5187103 
> >     (that HTML gets a little chewed up in Pastie, but I think it is 
> > parseable) 
> > 
> > Any ideas about what might prevent typed_id from being generated? 
> > 
> > Thanks so much! 
> > 
> > 
> > On Friday, October 19, 2012 12:06:36 PM UTC-7, Bryan Larsen wrote: 
> >> 
> >> You can replace ajax with update="companyuserform-#{typed_id}" and it 
> >> should work on 1.3 too.  Also on 1.3 it will be more difficult to get 
> >> it to display inline rather than using block styling. 
> >> 
> >> Bryan 
> >> 
> >> On Fri, Oct 19, 2012 at 2:56 PM, [email protected] 
> >> <[email protected]> wrote: 
> >> > Cool. 
> >> > 
> >> > This would not work in 1.3, bcs. fo the Ajax keyword, right? 
> >> > 
> >> > 
> >> > On Friday, October 19, 2012 11:52:38 AM UTC-7, Bryan Larsen wrote: 
> >> >> 
> >> >> Off the top of my head: 
> >> >> 
> >> >> <form ajax> 
> >> >>   <hidden-field:id/> 
> >> >>   <hidden-field:pledged-date value="&Date.today"/> 
> >> >>   <submit label="Yes"/> 
> >> >> </form> 
> >> >> 
> >> >> Bryan 
> >> >> 
> >> >> On Fri, Oct 19, 2012 at 2:48 PM, [email protected] 
> >> >> <[email protected]> wrote: 
> >> >> > I have a 1.3 app that uses an <update-button> tag. I am planning 
> to 
> >> >> > migrate 
> >> >> > the app to 2.0, so I see in the release notes that I need to 
> replace 
> >> >> > the 
> >> >> > <update-button>. 
> >> >> > 
> >> >> > The current tag using it is here: 
> >> >> > 
> >> >> >      http://pastie.org/5085380 
> >> >> > 
> >> >> > Can I get some guidance on the best way to replace the 
> >> >> > <update-button> 
> >> >> > on 
> >> >> > line 11 with a 2.0-compatible construct? 
> >> >> > 
> >> >> > Thanks! 
> >> >> > 
> >> >> > -- 
> >> >> > You received this message because you are subscribed to the Google 
> >> >> > Groups 
> >> >> > "Hobo Users" group. 
> >> >> > To view this discussion on the web visit 
> >> >> > https://groups.google.com/d/msg/hobousers/-/DGBla5zVWMQJ. 
> >> >> > 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/hobousers?hl=en. 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "Hobo Users" group. 
> >> > To view this discussion on the web visit 
> >> > https://groups.google.com/d/msg/hobousers/-/ZK_pRok6vNwJ. 
> >> > 
> >> > 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/hobousers?hl=en. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Hobo Users" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/hobousers/-/F8D1APAsmIUJ. 
> > 
> > To post to this group, send email to [email protected]<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:>. 
> > For more options, visit this group at 
> > http://groups.google.com/group/hobousers?hl=en. 
>

-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/hobousers/-/61g_LOVgzN4J.
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/hobousers?hl=en.

Reply via email to