我在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的全局数组?
答案 0 :(得分:0)
您也可以使用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"