我需要在我的表单中创建复选框数组。据我了解,我必须使用(type => 'Repeatable')
字段。我在表单类中创建了字段:
has_field 'userroles' => ( type => 'Repeatable');
has_field 'userroles.idx' => ( type => 'Checkbox');
我在构造函数中传递了角色 ID:
my $form = MyApp::Form::adduser->new(
ml_labels => $c->stash->{labels},
userlang => $c->stash->{userlang},
langs_available => [map{+{value => $_->id, label => $_->id}}@all_langs],
userroles => [
{ idx => 5 },
{ idx => 6 },
{ idx => 7 }
]
);
并尝试在模板中呈现此字段
<div style="float:left">
[% form.field('userroles').render %]
</div>
但我只有:
<div style="float:left">
<div class="hfh-repinst">
<div>
<label for="userroles.0.idx">Idx</label>
<label class="checkbox" for="userroles.0.idx"><input type="checkbox" name="userroles.0.idx" id="userroles.0.idx" value="1" />
</label>
</div>
我应该怎么做才能获得三个名为“5”、“6”、“7”的复选框?我在 H::FH 的文档中找不到答案。即使在似乎包含 示例的页面上