一个for-Rails中的多个变量

时间:2011-07-22 09:02:07

标签: ruby ruby-on-rails-3 for-loop

伙计们!我正在Rails 3中创建我的第一个独立项目。这主要是为了练习。我遇到了问题。

这个网站将是关于塔罗牌的预测。在一种形式中,我要求甲板和扩散形成。在控制器中,我抓住它并输入一些变量。我必须在视图中列出它。

问题是: 我(为前)10张牌10张。我想列出一张卡片描述和一个位置描述。在我的解决方案中,我为位置描述构建了一个数组,并将卡片放入for循环中。比起我每一步都从阵列中移出位置。 在代码中:

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

但是我觉得有更好的和聪明的解决方案。

可以对两个变量进行循环吗?还是其他任何好的解决方案?

此致, 凯尔

1 个答案:

答案 0 :(得分:5)

我并不完全明白你要做什么,但是

  

循环两个变量

如果您想同时迭代两个数组,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