Yes, Steve is right: this is the expected and desired behavior. A line in
source code pretty much means at least one line in output. If you want them
concatenated without whitespace, you don't want a partial, you want a
helper. Or just item.footnotes.map(&:symbol).join("").On Sat, Jul 11, 2009 at 9:55 PM, Noel <[email protected]> wrote: > > I got it to work, but still got the newline/ > > had to add this in application controller > > public :render_to_string > > > > <td> > tincidunt eu > <span class="footnote_symbols"> > 3 > 5 > </span> > </td> > > On Sat, Jul 11, 2009 at 6:50 PM, Noel<[email protected]> wrote: > > 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 -~----------~----~----~----~------~----~------~--~---
