Well, I still get an error protected method `render_to_string' called for #<RestaurantsController:0x23e207c>
Here's all the code http://pastie.org/private/rmow8bgpzv9btou0yqjg The reason I don't do this concatenation in the controller is that this is several partials deep. controller gets restaurants and eager loads other models. restaurants -> menus ... footnotes item :has_many footnotes The simplest solution is probably to just iterate thought item.footnotes in the _item partial. Just seemed to me that using a partial was the best practice. On Sat, Jul 11, 2009 at 6:19 PM, s.ross<[email protected]> wrote: > > Noel-- > > Can you be more specific than "didn't work"? Really, it looks like > what you've described is just taking two (or possibly) scalars from > the database and concatenating them as strings. If that's the case, > why not just do it in the controller instead of having a separate > partial? > > WRT why Haml adds the newline: I dunno, it always has added one when > you have a newline in your code. Rendering a partial that contains a > single line in a loop would suggest that the newline is appropriate. > I'm not sure that erb is doing the right thing. > > On Jul 11, 2009, at 5:50 PM, Noel wrote: > >> >> tried this in the helper and didn't work. >> >> Even if it did I don't think this work around is the way to go. >> >> Why does HAML adds the newline? >> >> >> >> >> On Sat, Jul 11, 2009 at 4:09 PM, s.ross<[email protected]> wrote: >>> >>> My bad. It's in ActionController::Base. >>> >>> Try >>> >>> controller.render_to_string(:partial => 'the_partial', :object => >>> number) >>> >>> I know somewhere I had to do this... can't dig up the code right now. >>> >>> >>> On Jul 11, 2009, at 3:58 PM, Noel wrote: >>> >>>> >>>> y, put it in application_helper.rb >>>> >>>> >>>> On Sat, Jul 11, 2009 at 3:43 PM, Michael Hollins<[email protected]> >>>> wrote: >>>>> >>>>> >>>>> Did you define the helper in application_helper.rb? >>>>> >>>>> render_to_string should be available there. >>>>> >>>>> >>>>> On 12/07/2009, at 8:26 AM, Noel <[email protected]> wrote: >>>>> >>>>>> >>>>>> I don't know how to implement this >>>>>> >>>>>> render_to_string is undefined. >>>>>> >>>>>> also I am guessing I have to pass in the item so that i can get >>>>>> all >>>>>> it's footnotes >>>>>> >>>>>> >>>>>> >>>>>> On Sat, Jul 11, 2009 at 3:14 PM, s.ross<[email protected]> wrote: >>>>>>> I suspect this is a side effect of Haml putting elements on >>>>>>> different lines. >>>>>>> So because the partial is called twice, Haml inserts a newline. >>>>>>> Everything >>>>>>> in the generated HTML points to this. Possibly a way to get the >>>>>>> desired >>>>>>> effect is to use a helper: >>>>>>> def whats_the_number? >>>>>>> the_number = "" >>>>>>> numbers.each do |number| >>>>>>> the_number += render_to_string(:partial => 'the_partial') >>>>>>> end >>>>>>> the_number >>>>>>> end >>>>>>> Then in the view: >>>>>>> = whats_the_number? >>>>>>> Am I getting close (extra cute method names, etc., aside)? >>>>>>> >>>>>>> >>>>>>> On Jul 11, 2009, at 1:56 PM, Nathan Weizenbaum wrote: >>>>>>> >>>>>>> How are you calling the partial? >>>>>>> >>>>>>> On Sat, Jul 11, 2009 at 4:49 PM, Noel <[email protected]> wrote: >>>>>>>> >>>>>>>> It prints twice bec the partial is called twice. Once for each >>>>>>>> symbol. >>>>>>>> There is no concat that I know of. >>>>>>>> >>>>>>>> Sent from my iPhone >>>>>>>> On Jul 11, 2009, at 12:56 PM, Nathan Weizenbaum <[email protected] >>>>>>>> > >>>>>>>> wrote: >>>>>>>> >>>>>>>> That's even more bizarre. The only thing I can guess is that >>>>>>>> both >>>>>>>> Haml and >>>>>>>> ERB are printing the thing twice. Is it possible that >>>>>>>> something in >>>>>>>> there is >>>>>>>> calling concat at some point? >>>>>>>> >>>>>>>> On Sat, Jul 11, 2009 at 2:45 PM, Noel <[email protected]> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> in erb i get >>>>>>>>> >>>>>>>>> <td> >>>>>>>>> tincidunt eu >>>>>>>>> <span class="footnote_symbols"> >>>>>>>>> StringString >>>>>>>>> </span> >>>>>>>>> </td> >>>>>>>>> >>>>>>>>> in HAML I get >>>>>>>>> >>>>>>>>> <td> >>>>>>>>> tincidunt eu >>>>>>>>> <span class="footnote_symbols"> >>>>>>>>> String >>>>>>>>> String >>>>>>>>> </span> >>>>>>>>> </td> >>>>>>>>> >>>>>>>>> Same extra line. >>>>>>>>> String >>>>>>>>> String >>>>>>>>> >>>>>>>>> vs >>>>>>>>> >>>>>>>>> StringString >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, Jul 11, 2009 at 10:46 AM, Nathan Weizenbaum<[email protected] >>>>>>>>>> >>>>>>>>> wrote: >>>>>>>>>> If that's what you get, it's not just a string. I don't know >>>>>>>>>> what it is >>>>>>>>>> if >>>>>>>>>> it produces that sort of inspect output. What happens if you >>>>>>>>>> call >>>>>>>>>> .class? >>>>>>>>>> >>>>>>>>>> On Sat, Jul 11, 2009 at 12:24 PM, Noel <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> - Yes, removing the h yields the same result >>>>>>>>>>> - Not sure about the haml executable, have to look up how >>>>>>>>>>> to do >>>>>>>>>>> that >>>>>>>>>>> - inspect produced this in erb >>>>>>>>>>> >>>>>>>>>>> <td> >>>>>>>>>>> tincidunt eu >>>>>>>>>>> <span class="footnote_symbols"> >>>>>>>>>>> "3""5" >>>>>>>>>>> </span> >>>>>>>>>>> </td> >>>>>>>>>>> >>>>>>>>>>> and this in HAML >>>>>>>>>>> >>>>>>>>>>> <td> >>>>>>>>>>> tincidunt eu >>>>>>>>>>> <span class="footnote_symbols"> >>>>>>>>>>> "3" >>>>>>>>>>> "5" >>>>>>>>>>> </span> >>>>>>>>>>> </td> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sat, Jul 11, 2009 at 6:15 AM, Nathan Weizenbaum<[email protected] >>>>>>>>>>>> >>>>>>>>>>> wrote: >>>>>>>>>>>> I honestly have no idea what's going on here. Does it still >>>>>>>>>>>> happen >>>>>>>>>>>> if >>>>>>>>>>>> you >>>>>>>>>>>> remove the #h call? Does it happen from the haml executable? >>>>>>>>>>>> What do >>>>>>>>>>>> you >>>>>>>>>>>> get >>>>>>>>>>>> if you do = h footnote_symbol.symbol.inspect? >>>>>>>>>>>> >>>>>>>>>>>> On Sat, Jul 11, 2009 at 2:16 AM, Noel <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> oh sorry, symbol is a string >>>>>>>>>>>>> >>>>>>>>>>>>> Erb renders this (as copied from safari web inspector) >>>>>>>>>>>>> >>>>>>>>>>>>> <td> >>>>>>>>>>>>> tincidunt eu >>>>>>>>>>>>> <span class="footnote_symbols"> >>>>>>>>>>>>> 35 >>>>>>>>>>>>> </span> >>>>>>>>>>>>> </td> >>>>>>>>>>>>> >>>>>>>>>>>>> HAML renders this >>>>>>>>>>>>> >>>>>>>>>>>>> <td> >>>>>>>>>>>>> tincidunt eu >>>>>>>>>>>>> <span class="footnote_symbols"> >>>>>>>>>>>>> 3 >>>>>>>>>>>>> 5 >>>>>>>>>>>>> </span> >>>>>>>>>>>>> </td> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Let me know if you need further clarification. >>>>>>>>>>>>> >>>>>>>>>>>>> -Noel >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Jul 10, 2009 at 10:33 PM, Nathan >>>>>>>>>>>>> Weizenbaum<[email protected]> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> I'm sorry, I'm still not getting it. Is >>>>>>>>>>>>>> footnote_symbol.symbol a >>>>>>>>>>>>>> string? >>>>>>>>>>>>>> An >>>>>>>>>>>>>> array? What's the actual HTML output of Haml vs. ERB? >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Fri, Jul 10, 2009 at 3:34 PM, Noel <[email protected]> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Here is an example: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> HAML view has this >>>>>>>>>>>>>>> =h footnote_symbol.symbol >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> which produces this: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> http://skitch.com/noelgomez/ba821 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I am talking about the space between the 4 and the 3 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> In the DB the symbols are single characters. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Here is the same using erb which just prints 43 >>>>>>>>>>>>>>> <%=h footnote_symbol.symbol %> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> http://skitch.com/noelgomez/ba826 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Not sure if I am doing something wrong, but odd that erb >>>>>>>>>>>>>>> does >>>>>>>>>>>>>>> what I >>>>>>>>>>>>>>> expect. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Fri, Jul 10, 2009 at 11:27 AM, Nathan >>>>>>>>>>>>>>> Weizenbaum<[email protected]> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> I'm not entirely sure what you mean. What's the exact >>>>>>>>>>>>>>>> Ruby >>>>>>>>>>>>>>>> value >>>>>>>>>>>>>>>> of >>>>>>>>>>>>>>>> footnote_symbol.symbol? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Fri, Jul 10, 2009 at 9:08 AM, Noel <[email protected] >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I have a very simple partial >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> = h footnote_symbol.symbol >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I verified the length of symbol to be 1. My dev data >>>>>>>>>>>>>>>>> is >>>>>>>>>>>>>>>>> (*,1,2,3,4...) >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> when this renders as an example I get >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 2 5 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> but I was expecting >>>>>>>>>>>>>>>>> 25 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> if I change the partial to erb instead of haml I do get >>>>>>>>>>>>>>>>> 25. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I am using haml (2.2.0) >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Any ideas where the extra space is coming from? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -Noel >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>>> >>>>> >>>>>> >>>>> >>>> >>>>> >>> >>> >>>> >>> >> >> > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Haml" 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/haml?hl=en -~----------~----~----~----~------~----~------~--~---
