从 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"
我在 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"