Rust 把手一圈三排

Rust 把手一圈三排,rust,handlebars.js,rust-rocket,Rust,Handlebars.js,Rust Rocket,我有一个生锈的结构,看起来像这样: struct Root{ as:Vec, } 结构A{ bs:Vec, 政务司司长:政务司司长, } 结构B{ 字符串:Vec, } 结构C{ 字符串:Vec, } 我正在尝试使用Rocket.rs和handlebar模板获得输出 我的车把模板当前看起来像这样,但不起作用 {{{#每个as} {{{#每个bs} {{@index}} {{bs.@index}} {{cs@index} {{/每个}} {{/每个}} 我得到以下错误错误:错误呈现把手模板“i

我有一个生锈的结构,看起来像这样:

struct Root{
as:Vec,
}
结构A{
bs:Vec,
政务司司长:政务司司长,
}
结构B{
字符串:Vec,
}
结构C{
字符串:Vec,
}
我正在尝试使用Rocket.rs和handlebar模板获得输出

我的车把模板当前看起来像这样,但不起作用

{{{#每个as}
{{{#每个bs}
{{@index}}
{{bs.@index}}
{{cs@index}
{{/每个}}
{{/每个}}
我得到以下错误
错误:错误呈现把手模板“index”错误呈现“index”第28行,第18列:字符串中发现无效数字,这可能与我在HBS标记中使用的
@index
变量有关


有没有其他方法可以让我只从两个阵列中取出一个项目,并将它们并排放置,而不必改变我的结构?

我不清楚您想要实现什么。对于
as
数组中的每个
A
对象,您希望迭代
bs
cs
的每个元素。这假设
bs
cs
对于任何
A
具有相同的长度

如果这是您想要的,那么我认为您的问题是您试图从
bs
的上下文中访问
cs
。在
{{#each bs}
块中,上下文是当前
B
对象。由于
B
没有
cs
,您需要提升上下文级别,以便返回到
a
的上下文,该上下文包含
bs
cs
。在车把中,您可以使用路径,如
。/

对于每个
A
,在
bs
的每个索引处访问
bs
cs
的简化模板如下:

{{lookup../cs@index}}

我已经创建了一个供您参考的方法。

我甚至不确定自己想要实现什么,但您的回答清楚地表明这是可行的。我有三个相同大小的数组,并试图在表的
中并排显示它们。谢谢你的回答和提琴!
{{#each as}}
    {{#each bs}}
        <h4>{{@index}}</h4>
        <pre>{{lookup ../bs @index}}</pre>
        <pre>{{lookup ../cs @index}}</pre>
    {{/each}}
{{/each}}
<pre>{{.}}</pre>
<pre>{{lookup ../cs @index}}</pre>