rails将控制器的变量分配给每个功能

时间:2018-03-22 15:22:20

标签: ruby-on-rails

我想我可能是愚蠢的,而且我确定在某个地方找不到答案,我只是没有正确搜索,

我有这个循环方法:

@events.each do |event|
  prices = []
  event.tickets.each do |price|
    prices.push(price.face_value)
  end
end

我想要做的是为活动添加价格,以便我可以在视图中以@event.first.price.first为例使用它?

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在你的循环中,你正在创建prices数组,你将值推入其中但它与event没有关联。

试试这段代码:

@events.each do |event|
  event.prices = []
  event.tickets.each do |price|
    event.prices.push(price.face_value)
  end
end

编辑:

如果prices上未定义event,您可以执行以下操作:

@events_prices = {}

@events.each do |event|
  @events_prices[event.id] = []
  event.tickets.each do |price|
    @events_prices[event.id] << price.face_value
  end
end

然后获取这样的价格:

@events_prices[@events.first.id].first
@events_prices[@events.first.id].second