Ruby - 添加到多维数组

5 ruby ruby-on-rails multidimensional-array

我想循环执行一个过程并每次将一个对象添加到我的数据库中,但如果未正确添加,我想收集多维数组中的错误。第一个数组将保留出现错误的批次,第二个数组将包含错误消息。

这里是我的报关表:

errors = [[],[]]
Run Code Online (Sandbox Code Playgroud)

所以我希望数组的格式如下:

[[lot_count, "#{attribute}: #{error_message}" ]]
Run Code Online (Sandbox Code Playgroud)

循环后应该如下所示:

[[1, "Name: Can not be blank" ],[1, "Description: Can not be blank" ],[2, "Name: Can not be blank" ]]
Run Code Online (Sandbox Code Playgroud)

我的问题是它不会将其添加到数组中。我不确定多维数组的语法是否不同。

这在我的数组中没有给我任何东西

errors.push([[lot_count, "#{attribute}: #{error_message}" ]])
Run Code Online (Sandbox Code Playgroud)

这也让我的数组中没有任何内容

errors += [[lot_count, "#{attribute}: #{error_message}" ]]
Run Code Online (Sandbox Code Playgroud)

ber*_*kes 3

看来您在推送时将数组嵌套得太深:

errors.push([lot_count, "Foo:Bar"])
# => [[], [], [1, "Foo:Bar"]]
Run Code Online (Sandbox Code Playgroud)