我想创建一个数组,然后为每个键插入值(键应该是每个键的值)。但似乎不起作用。这是我的代码。
@options = %w(Services Resources)
@images = []
@options.each do |value|
@images[value] << Media::Image.where(type: "Media::#{value.singularize}Image")
end
答案 0 :(得分:2)
@images
是一个数组,因此引用其中的元素应该是@images[Integer]
而value
是一个字符串(在第一次迭代中它是&#34; s&#34;服务&#34 ;以及第二个&#34;资源&#34;)。相反,对你有用的是Hash
:
@options = %w(Services Resources)
@images = {}
@options.each do |value|
@images[value] = Media::Image.where(type: "Media::# {value.singularize}Image")
end
答案 1 :(得分:0)
@images = Hash.new {|h,k| h[k]=[]}