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 <r...@erebor.com> 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 < > > rails-mailing-l...@andreas-s.net> 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 rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---