将对象推入空数组,在实例变量中返回填充数组。 - RoR

时间:2014-06-30 06:38:27

标签: ruby-on-rails ruby arrays

这看起来很基本,但我很难搞清楚这一点。我有这个方法:

def index
  @stores = Store.all
  @my_deals = []

  @stores.each do |s|
    if current_user.voted_for?(s)
      @my_deals.push(s.deals)
    else

    end
  end

end

如果用户有voted_for商店,那么存储商品应该被推送到@my_deals数组中。我想在视图中使用填充的@my_deals数组,但它目前只返回[]。我猜测它在下面的代码运行之前抓住变量来填充它。如何在} 之后使用{/ 1>}

1 个答案:

答案 0 :(得分:1)

如果deals是数组,你可以推送它,你应该逐个添加元素。

@stores.each do |s|
  if current_user.voted_for?(s)
    s.deals.each { |d| @my_deals << d }
  else

  end