Render view depending on state

Hi all,

I have a list of events and when clicked an event you get detailed info of the event. The detailed info actually depends on whether the event has already occured or not. So if the event still has to happen different content has to be rendered.

Is there a rails way on dealing with this or do I just use (in event/ show.html.erb):

if @event.starttime < Time.now   #render event way 1 else   #render event way 2 end

Thanks in advance Stijn

You can do at least three ways:

1. make the decision in the controller and render one of two views with

render :template => 'path_to/template'

2. make the decision in a template and render one of two partials

<% if @event.starttime < Time.now %> <%= render :partial => 'past_event' %> <% else %> <%= render :partial => 'future_event' %> <% end %>

3. As you said, make the decision in the template and put all rendering in the one file.

Personally, I'd probably go with #2.

Peace, Phillip