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.
0fc60326968a0eaccf30330fe6758375?d=identicon&s=25 Juan Kinunt (kinunt)
on 2009-03-04 16: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.
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2009-03-04 17:19
(Received via mailing list)
2009/3/4 Juan Kinunt <rails-mailing-list@andreas-s.net>

> 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.
0fc60326968a0eaccf30330fe6758375?d=identicon&s=25 Juan Kinunt (kinunt)
on 2009-03-04 19: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 Law wrote:
> 2009/3/4 Juan Kinunt <rails-mailing-list@andreas-s.net>
>
>> 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.
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2009-03-04 20: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 Kinunt <rails-mailing-list@andreas-s.net>
91a72b0ad3e43e3ef3a31816667ec694?d=identicon&s=25 bill walton (Guest)
on 2009-03-04 20:56
(Received via mailing list)
On Wed, 2009-03-04 at 19:08 +0000, Colin Law 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
0fc60326968a0eaccf30330fe6758375?d=identicon&s=25 Juan Kinunt (kinunt)
on 2009-03-05 08: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.