从 rb 中的数组读取值到 erb 文件

Read value from an array in rb to an erb file

我在 Ruby 中有一个全局数组,其中包含一些字符串对象。类似于:

$my_array = ['apple', 'orange', 'cherries']

在每个 ERB 文件中,我希望从这个数组中读取一个对象。所以在我的 ERB 文件中,我使用了:"<%= $my_array[0] %>" 但这不起作用。我得到的错误是 "undefined method [] for nil:NilClass"。但是当我在调试时打印 $my_array 时,我看到值存在于数组中。所以看起来 ERB 没有从 Ruby.

读取数组

但是如果我在 Ruby 中有一个全局变量,例如:$my_var = "This is a text" 并且从 ERB 读取这个作为 "<%= $my_var %>" 效果很好。

如何从 Ruby 读取全局数组到 ERB?

您也可以使用 CONSTANT 作为替代方法,如下所示。

MY_ARRAY = ["apple", "orange", "cherries"]

它会起作用:

MY_ARRAY[0] => "apple"
MY_ARRAY.first => "apple"

或简单变量

@my_array = ["apple", "orange", "cherries"]

也可以:

@my_array[0] => "apple"
@my_array.first => "apple"
@my_array.last => "cherries"