我有此代码:
price = variant[merchant["variant_code"]]
译为:variant["PRDCT-A"]
但是我的问题是它返回nil
,因为我的variant
哈希看起来像这样:{:"PRDCT-A"=>{:price=>1495.0}}
它有:
,但是我只传递了"PRDCT-A"
,应该是{ {1}}。
我已经尝试过concat但它不起作用,如何包含冒号以便可以访问哈希值?
答案 0 :(得分:3)
如果我没记错的话,您的哈希结构可能类似于
merchant = {variant_code: 'PRDCT-A'}
variant = {:"PRDCT-A"=>{:price=>1495.0}}
,您想在商家哈希的帮助下访问变体值
您应该尝试一下
variant.dig(merchant[:variant_code].to_sym)
答案 1 :(得分:1)
请尝试对<template >
<div class="container">
<GChart
type="OrgChart"
:data="chartData"
@ready="onChartReady"
/>
</div>
</template>
<script>
import { GChart } from 'vue-google-charts'
export default {
components: {
GChart
},
data () {
return {
// Array will be automatically processed with visualization.arrayToDataTable function
chartData: [
[{v:'Mike', f:'Mike<div style="color:red; font-style:italic">President</div>'},
'', 'The President'],
[{v:'Jim', f:'Jim<div style="color:red; font-style:italic">Vice President</div>'},
'Mike', 'VP'],
['Alice', 'Mike', ''],
['Bob', 'Jim', 'Bob Sponge'],
['Carol', 'Bob', '']
],
options: {allowHtml : true}
}
},
methods: {
onChartReady (chart, google) {
var chart = new google.visualization.OrgChart();
chart.draw(this.chartData, this.options)
}
}
}
</script>
进行with_indifferent_access
哈希处理,如下所示-
variant
然后使用相同的语句再次访问。即
variant = variant.with_indifferent_access
我希望这会有所帮助。
答案 2 :(得分:-1)
您可以简单地转换为json并使用它。
variant = variant.as_json
variant['PRDCT-A']