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