伙计们!我正在Rails 3中创建我的第一个独立项目。这主要是为了练习。我遇到了问题。
这个网站将是关于塔罗牌的预测。在一种形式中,我要求甲板和扩散形成。在控制器中,我抓住它并输入一些变量。我必须在视图中列出它。
问题是: 我(为前)10张牌10张。我想列出一张卡片描述和一个位置描述。在我的解决方案中,我为位置描述构建了一个数组,并将卡片放入for循环中。比起我每一步都从阵列中移出位置。 在代码中:
<% for cardnum in @cardnums
@cp = @card_positions.shift
@card = Card.find_by_id(cardnum)
%>
Writing out the data
<% end %>
但是我觉得有更好的和聪明的解决方案。
可以对两个变量进行循环吗?还是其他任何好的解决方案?
此致, 凯尔
答案 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