Showing related table data in show.rhtml

I have been following a few Rails Beginner tutorials and have been
able to get a good simple app up where I have a bunch of servers and I
am tracking the number of users on those servers every week.

I have been able to get the app running so that I can view the user
counts for a Server - looks like this, which is displayed via the
server model's show.rhtml:

I have been following a few Rails Beginner tutorials and have been
able to get a good simple app up where I have a bunch of servers and I
am tracking the number of users on those servers every week.

I have been able to get the app running so that I can view the user
counts for a Server - looks like this, which is displayed via the
server model's show.rhtml:

Server Name: EastWS2003

UserCounts:

300
302
305
315

So far so good, but rather than have that usercount table store the
date of that report I have a third table that consists of an id field
and a field called "weekending", which stores that actual date.

The usercount table has a field called reportdate_id which points to
the reportdate table.

The result I want is to see something like this:

=================
Server: NorthWM2k

UserCounts:

01/01/2007 300
01/08/2007 302
01/15/2007 305
01/22/2007 315

However I can't figure out how to code this into the show.rhtml to
pull in the actual date from the reportdate table. Here is the
original code from show.rhtml that displays the user count.

<% if @server.has_usercounts? %>
  <h3>User Counts</h3>
  <table>
    <% for usercount in @server.usercounts %>
       <tr>

<td><%= usercount.reportdate.weekending.strftime('%m/%d/%Y') %></td>

      <td><%= usercount.users %></td>
       </tr>
    <% end %>
  </table>
<% end %>

Can anyone point me in the right direction?

Assuming that your models reflect the associations that you implied (and that I'm interpreting them right).

  class Server
    has_many :usercounts
  end
  class Usercount
    belongs_to :server
    belongs_to :reportdate
  end
  class Reportdate
    set_table_name 'reportdate' # because you imply it's not plural
    has_many :usercounts
  end

But if this is a common thing, I'd suggest you also have a method:

  class Usercount
    def weekending
      self.reportdate.weekending
    end
  end

Define your own format (in your environment.rb perhaps)

  Time::DATE_FORMATS[:stoop] = '%m/%d/%Y'

and in your view say:

  <td><%= usercount.weekending.to_s(:stoop) %></td>

Of course, you can replace :stoop with :mdy or anything else that suits you.

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

That was it, perfect Rob, thanks very much.

Rob helped me out and got me to the stage where I have the following
output in show.rhtml