一个for-Rails中的多个变量

Kae*_*ael 3 ruby for-loop ruby-on-rails-3

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

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

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

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

但是我认为有更好的和聪明的解决方案.

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

你的,凯尔

rub*_*ish 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
Run Code Online (Sandbox Code Playgroud)