Ruby on rails 循环遍历数组并将键传递给函数
我试图将events_sections数组中的每个元素传递给一个函数,我一直得到nil,我不确定我在这里做错了什么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
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
)是一个模型名,我会非常惊讶:)是的,那是模型名