【问题标题】:Read value from an array in rb to an erb file从 rb 中的数组读取值到 erb 文件
【发布时间】:2015-03-10 06:55:04
【问题描述】:

我在 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?

【问题讨论】:

  • $my_array 是如何以及在哪里定义的?你确定在加载视图之前它会被实例化吗?一些关于它的代码 sn-ps 可能很有用。

标签: ruby-on-rails ruby arrays erb


【解决方案1】:

您也可以使用 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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    相关资源
    最近更新 更多