Несколько переменных в одной for - Rails - PullRequest
3 голосов
/ 22 июля 2011

Fellas! Я создаю свой первый независимый проект в Rails 3. Это в основном для практики. Я столкнулся с проблемой.

Сайт будет о предсказаниях Таро. По форме я прошу колоду и выкладываю формирование. В контроллере я беру это и вставляю некоторые переменные. Чем я должен перечислить это в представлении.

Проблема в том, что: У меня (например) 10 карт на 10 позиций. Я хочу перечислить одно описание карты с одним описанием позиции. В моем решении я строю массив для описания позиций и помещаю карточки в цикл for. Чем я сдвигаю позиции из массива с каждым шагом для. В коде:

<%  for cardnum in @cardnums
@cp = @card_positions.shift
@card = Card.find_by_id(cardnum)
%>
Writing out the data
<% end %>

Однако я думаю, что есть гораздо более приятные и умные решения.

Можно ли выполнить цикл for для двух переменных? Или другое хорошее решение?

С уважением, Кель

1 Ответ

5 голосов
/ 22 июля 2011

Я не совсем понимаю, что вы пытаетесь сделать, но

цикл с двумя переменными

Если вы хотите выполнить итерацию по двум массивам одновременно, Array # zip может быть полезным.Вы можете сделать:

 a = [1,2,3]         # use card_position array
 b = %w{a b c}       # use cards array
 c = a.zip(b)        #=> [[1, "a"], [2, "b"], [3, "c"]]

 # you can do
 c.each do |cp, card|
   # do something with card_position(cp) and card
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...