поместите партиал внутри content_tag в Rails вспомогательной функции приложения

У меня есть это, на мой взгляд, но я хотел бы очистить его и поместить все это в метод в помощнике.

Я знаю, как поместить div и некоторый контент в content_tag. Однако как пройти частичное?

 <% if show_content?(flash[:invitation]) %>
       <div id="invite_box">
       <%= render :partial => 'user/invite', :locals => {:user => @user } %>
       </div>
       <% elsif show_content?(flash[:confirmation]) %>
       <%= render :partial => 'user/invite_confirmation' %>
       <% end %>

person chell    schedule 27.02.2011    source источник


Ответы (1)


Если партиал invite всегда должен быть обернут в div invite_box, имеет смысл просто поместить этот div внутрь партиала.

Однако вы можете сделать это в своем помощнике:

def show_invite_info
  if show_content?(flash[:invitation])
    content_tag(:div, :id => "invite_box") do
      render :partial => "user/invite", :locals => {:user => @user}
    end
  elsif show_content?(flash[:confirmation])
    render :partial => "user/invite_confirmation"
  end
end

Тогда, на ваш взгляд, просто выполните:

<%= show_invite_info %>
person Dylan Markow    schedule 27.02.2011