我正在尝试在动态命名哈希键的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] 删除。
我来说两句