我试图将events_sections数组中的每个元素传递给一个函数,我一直都是零,我不确定我在这里做错了什么。
event_sections = ["a_full","b_full","c_full","e_full","h_full","i_full","k_full","z_full"]
event_sections.each do |key|
@events[key] = Zlib.inflate(Events_Full_Sections.first."#{key}")
end
render json: @events
你的帮助很高兴
答案 0 :(得分:0)
我认为您之前没有定义@events
。因此,在循环之前用该变量定义一个空数组:
@events = []
此外,如果Events_Full_Sections
是模型,我们不会像您尝试的那样调用插值方法。我们使用send
方法来调用带有str / symbol名称的方法。像这样:
event_sections = ["a_full","b_full","c_full","e_full","h_full","i_full","k_full","z_full"]
@events = []
event_sections.each do |key|
@events[key] = Zlib.inflate(Events_Full_Sections.first.send(key))
end
render json: @events
我不确定你的数据库结构,所以我认为它会起作用。
您也可以将Events_Full_Sections.first
保存在变量外部循环中,以避免每次都调用db。