Цикл по рельсам ActiveRecord - PullRequest
       0

Цикл по рельсам ActiveRecord

1 голос
/ 30 октября 2011

Я знаю, что могу сделать

@somethings.each do |something|
/*some work with something*/
end

но я хочу знать, смогу ли я перебрать @ что-то с помощью for

Я пытался

for i in 0..10
    @somethings[i].myattribute
end

но это не дает мне объект, который я хочу, или любой объект, насколько я знаю.

Мне нужно использовать цикл for, я не могу делать то, что я хочу, с «каждым». Так можно ли как-нибудь использовать цикл for?

Ответы [ 2 ]

3 голосов
/ 30 октября 2011

Если коллекция, с которой вы работаете, является перечисляемой, вы можете использовать метод each_with_index, например:

@somethings.each_with_index do |something, i|
  something[i].an_attribute
end

Это почти наверняка сделает то, что вы хотите.

1 голос
/ 30 октября 2011
for something in @somethings
  something.myattribute
end

или странно

@somethings_array = @somethings.to_a
for i in 0..10
  @somethings_array[i].myattribute
end

ок

@somethings_array = @somethings.to_a
10.downto(1) do |i|
  @somethings_array[i].myattribute
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...