Thanks Nathan,

This works and it's simple.
just for my understanding, i'm still a ruby n00b, what does this part mean

(&:symbol)



-Noel


On Sat, Jul 11, 2009 at 10:34 PM, Nathan Weizenbaum<[email protected]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to