Forum: Ruby on Rails Separate rows in view depending its date

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Juan K. (Guest)
on 2009-03-04 17:47
Hi,

I would like to hear your opinions about how do you think I can
implement this.
I have a @events array where I have events each one with its datetime,
and ordered by it.
I would like to show a list of these events in a table. I would like to
put a blank row in the table after each group of events with the same
date.
I don't know if it is better to separate the events in groups in the
controller or if I can use an 'if' in the view to insert this blank row.

Thanks.
Colin L. (Guest)
on 2009-03-04 18:19
(Received via mailing list)
2009/3/4 Juan K. <removed_email_address@domain.invalid>

> I don't know if it is better to separate the events in groups in the
> controller or if I can use an 'if' in the view to insert this blank row.
>

I would suggest this is to do with how you want to view the data, it is
not
inherent in the data itself, so it should go in the view.
Juan K. (Guest)
on 2009-03-04 20:40
Ok. That makes sense to me. Can I store values in variables in the view?
I think it would be possible by storing the datetime of the previous
event and comparing it with the current event datetime. I think what I
want to do is similar to pagination...

Colin L. wrote:
> 2009/3/4 Juan K. <removed_email_address@domain.invalid>
>
>> I don't know if it is better to separate the events in groups in the
>> controller or if I can use an 'if' in the view to insert this blank row.
>>
>
> I would suggest this is to do with how you want to view the data, it is
> not
> inherent in the data itself, so it should go in the view.
Colin L. (Guest)
on 2009-03-04 21:09
(Received via mailing list)
You can write pretty much any ruby in the view, local vars are no
problem. I
feel there may be an elegant way to skip a row or otherwise leave a gap
on
date change but at the moment it escapes me. Any suggestions from those
with
more experience?

2009/3/4 Juan K. <removed_email_address@domain.invalid>
bill walton (Guest)
on 2009-03-04 21:56
(Received via mailing list)
On Wed, 2009-03-04 at 19:08 +0000, Colin L. wrote:
> You can write pretty much any ruby in the view, local vars are no
> problem. I feel there may be an elegant way to skip a row or otherwise
> leave a gap on date change but at the moment it escapes me. Any
> suggestions from those with more experience?


CSS.  Wrap each date-group in a <div class='whatever'> and style it with
a top/bottom margin to get the spacing you're looking for.

HTH,
Bill
Juan K. (Guest)
on 2009-03-05 09:33
What I do not see is how to build those 'date-groups' because what I
have now is only @events = Event.find(:all, :order => 'date')

In the view I do:

<%= for event in @events %>
[...]

bill walton wrote:

> CSS.  Wrap each date-group in a <div class='whatever'> and style it with
> a top/bottom margin to get the spacing you're looking for.
This topic is locked and can not be replied to.