I would prefer to use each_with_index:
@records.each_with_index do |r, i|
"first record: #{r.name}" if i == 0
"just another record: #{r.name}"
end
On Apr 19, 5:27 pm, Ryan Waldron <[email protected]> wrote:
> It might be instructive to look at the code for the cycle method. It
> actually creates an object and calls its to_s method each time you call
> 'cycle'.
>
> You could do a similar thing. Create a small class with a 'to_s' method
> that returns something the first time, but nothing thereafter.
>
> class Once
> def initialize(first_value)
> @value = first_value
> end
>
> def reset
> @value = ''
> end
>
> def to_s
> value = @value
> reset
> return value
> end
> end
>
> Stick that in lib/ or include it some other way. Then you can call cycle,
> but pass your object as a single argument to cycle (cycle doesn't require
> actually more than one param, though you could pass your object as both
> params, or just pass it as the first param and '' as the second):
>
> <% label_once = Once.new('_bar') %>
>
> <tr class='foo<%= cycle(label_once) %>'>
>
> You'll get
>
> <tr class='foo_bar'>
> ...
> <tr class='foo'>
> ...
> <tr class='foo'>
>
> Might be a bit overkill, but kind of fun. :)
>
> On Sun, Apr 19, 2009 at 5:52 PM, Joshua Muheim <
>
> [email protected]> wrote:
>
> > > Just write one:
>
> > > in a helper:
> > > def only_first_time(what)
> > > first_time = @previous_what.nil?
> > > �...@previous_what ||= what
> > > what if first_time
> > > end
>
> > Thanks, but that's not very versatile. I could only use it once. AFAIK I
> > can use cycle() wherever I want, so I'd like the helper to be somehow
> > dependant from where it has been called. Is this possible?
>
> > Thanks
> > --
> > Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---