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

crazycoder65

我正在尝试在动态命名哈希键的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}语法(在此处建议),但是当然这在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]:冒号左侧的东西不是符号名称之的事情是无效的。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Ruby哈希中动态设置嵌套键的值

如何在ruby中基于相同键合并哈希数组?

如何在 Ruby on rails 中创建动态哈希数组

从Ruby哈希到XML:如何在哈希中为重复的XML xpath创建重复的键?

如何从Ruby中的哈希数组更改哈希键?

如何重命名哈希中的键(如果存在)

如何在Ruby 1.9中使用变量设置哈希键?

如何在Ruby中使用相同的键对数组哈希中的值求和

如何在Ruby中将用户输入与哈希中的键/值对进行比较?

如何在Ruby中建立目录名作为键的哈希值和文件名作为值的哈希值?

如何在Retrofit2 Android中动态重命名JSON响应的键

如何在Ruby中使用变量访问符号哈希键

如何在Ruby中遍历部分哈希

如何在Ruby中复制哈希?

如何在 Ruby 中打印哈希数据

如何在rubyonrails中命名外键?

如何在Java中动态命名对象?

如何使用ruby laungage在哈希中添加键/值对

如何在Ruby中从数组的哈希值的哈希值构建哈希值的哈希值

如何在 Typescript 中访问动态键

如何在Ruby中将键值对的列表转换为哈希,以便将具有重复键的值存储在数组中?

如何在 perl 中忽略哈希的键序列

如何在Shell中创建哈希映射(键:val)?

如何在Golang中为哈希映射制作复合键

如何在哈希中交换键和值

如何在Perl中检查哈希键是否包含JSON?

如何在Perl 6中获得随机选择的哈希键?

如何在Java中制作动态方法的哈希图

如何在动态导入块名称中添加哈希?