数组中的Ruby数组访问位置

时间:2014-12-30 15:07:19

标签: ruby arrays ruby-on-rails-3.2

@product

返回单个记录。通过关系,该产品属于一个插槽

@slot = Slot.where(['id = ?', @product.slot_id]).first

需要访问的是所有x数组中的位置@slots = Slot.order('id asc').all,以便我可以根据ruby array Class识别或迭代以下n个广告位:

arr[x, n]

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解有很多方法可以访问Array的索引,例如

 alphabet = ('a'..'z').to_a
 alphabet[0]
 #=> "a"
 alphabet.values_at(2,3,12)
 #=> ["c","d","m"]
 alphabet.index('r')
 #=> 17
 alphabet.fetch(15)
 #=> "p"

还有更多内容,例如#at#find_index,甚至#rindex,它们会查找最后一次出现。如果您需要迭代索引,可以使用each_indexeach_with_index。由于您的问题并未真实地解释该方案,我所能做的就是解释如何处理Array索引。如需更相关的答案,请更新您的问题以显示数据和预期结果。

以下是我可以从您的问题中收集的内容

@product = Product.find(some_id)
@slot = @product.slot
@slots = Slot.where("id > ?", @slot.id) #return all slots after the @product.slot

答案 1 :(得分:0)

如果想获得给定Slot的{​​{1}},您可以这样做:

Product

假设你的关系定义得很好。