Ruby Multi Line Blocks Use

According to the Ruby Style Guide and the Airbnb Style Guide:

Prefer {…} to do … end for single line blocks. Avoid using {…} for multi-line blocks (multi-line linking is always ugly).

Now, create an image with the following functions, which should return a hash array:

OPTION 1

def generate_fields_1
words = ["foo", "bar", "bla"]
  numbers = [1, 2, 3]
  fields = []

  words.each do | word |
numbers.each do | number |
content = find_content (word, number)
then so happy.nil?

fields << {
kind word,
value: content
}
end
end

the fields
end

OPTION 2

def generate_fields_2
words = ["foo", "bar", "bla"]
  numbers = [1, 2, 3]

  words.map do | word |
numbers.map do | number |
content = find_content (word, number)
then so happy.nil?

{
kind word,
value: content
}
fin.compact
finished flat
end

The result is a hash array of any length because it depends on the find_content function that can return a null value.

[
  { kind: "", value: "BRL" },
  { kind: "", value: "AUS" },
  { kind: "", value: "PER" },
]

Both functions give the same result but I see a delicate situation. The second option is better for me because I do not have the field variable and is cleaner than option 1. However, option 1 is simple, without any shady behavior, such as fin.compact or finished flat.

What is the most appropriate function between the two options? Is there another solution that respects the guidelines and returns the same result? Thank you in advance.