Railscast 262 different partial in helper

Hi RoR Community,

in Ryan Bates Railscasts Episode #262 he put the index code

<% for message in @messages %>
  <div class="message">
    <div class="created_at"><%= message.created_at.strftime("%B %d, %Y")
%></div>
    <div class="content">
      <%= message.content %>
    </div>
    <div class="actions">
      <%= link_to "Reply", new_message_path(:parent_id => message) %> |
      <%= link_to "Destroy", message, :confirm => "Are you sure?",
:method => :delete %>
    </div>
  </div>
<% end %>

in to a partial _message.html.erb

and call it with

<%= nested_messages @messages.arrange(:order => :created_at) %>

and the following helper method

module MessagesHelper
  def nested_messages(messages)
    messages.map do |message, sub_messages|
      render(message) + content_tag(:div, nested_messages(sub_messages),
:class => "nested_messages")
    end.join.html_safe
  end
end

I tried the same and it works fine. My Question ist, how do I can force
the helper to render in a different partial like '_old_message' or
something else. I tried a lot but everytime the helper render the
_message.html.erb partial.

Thanks ahead for any help!

Regs

Herman

Hi, in the MessageHelper module, you could change the nested_messages
method to look like this;

  def nested_messages(messages)
    messages.map do |message, sub_messages|
      render(:partial => "old_message", :locals => {:message =>
message}) + content_tag(:div, nested_messages(sub_messages), :class =>
"nested_messages")
    end.join.html_safe
  end

Just change the partial option to what ever file you want to render.

Hi Justin,

works fine!!

Thanks a lot!

Regs

Herman

Justin Mcginnis wrote in post #1029688: