gpt4 book ai didi

ruby - 如何在 Ruby 中动态命名哈希键

转载 作者:数据小太阳 更新时间:2023-10-29 08:31:27 24 4
gpt4 key购买 nike

我正在尝试在一个 erb 文件中进行“呈现”调用,其中哈希的键是动态命名的。例如……

<% object_type_abbr = ["pos", "job_description", "policy", "procedure", "step", "task", "product"] %>

<%= render path.to_s,
model_id: @model.id,
object_type_abbr[i]: orphan,
row_no: row_no,
is_orphan: true
%>

问题是无法识别此语法。我试过使用 #{ruby var name} 语法(建议 here ),但当然这在 HTML 中不起作用。

我也试过 object_type_abbr[i].to_sym,这没什么区别。

我知道这一定存在,但找不到。

最佳答案

一种解决方案是对散列中的该条目使用 => 符号,例如

model_id: @model.id
object_type_abbr[i].to_sym => orphan,
....

将键映射到散列中的值的标准方法是使用 key => value(火箭)表示法。

当您编写 model_id: @model.id 时,这是 :model_id => @model.id 的简写 - Ruby 提供此简写是因为在键所在的位置创建哈希符号就是这样一个常见的用例。但是将这种语法风格用于诸如 object_type_abbr[i]: 之类的东西是无效的,其中冒号左边的东西不是符号的名称。

当您使用 => 表示法时,键可以是任何表达式,包括计算结果为符号的表达式。

关于ruby - 如何在 Ruby 中动态命名哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30385551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com