@product
返回单个记录。通过关系,该产品属于一个插槽
@slot = Slot.where(['id = ?', @product.slot_id]).first
需要访问的是所有x
数组中的位置@slots = Slot.order('id asc').all
,以便我可以根据ruby array Class识别或迭代以下n个广告位:
arr[x, n]
答案 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_index
或each_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
假设你的关系定义得很好。