Ruby on rails 循环遍历数组并将键传递给函数

Ruby on rails 循环遍历数组并将键传递给函数,ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图将events_sections数组中的每个元素传递给一个函数,我一直得到nil,我不确定我在这里做错了什么 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

我试图将events_sections数组中的每个元素传递给一个函数,我一直得到nil,我不确定我在这里做错了什么

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 

非常感谢您的帮助

我想您之前没有定义
@events
。因此,在循环之前使用该变量定义一个空数组:

@events = []
另外,如果
Events\u Full\u 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 
我不确定你的数据库结构,所以我认为它会工作


您还可以保存
事件\u Full\u部分。首先
在变量外部循环中,以避免每次调用db。

什么是
nil
?你还有别的错误吗?你确定
Events\u Full\u Sections
不是空的吗?如果(
Events\u Full\u Sections
)是一个模型名,我会非常惊讶:)是的,那是模型名