Dev*_*tas 4 perl template-toolkit
[% IF OrgType.id == Organization.org_type_id %]selected="selected"[% END %]
Run Code Online (Sandbox Code Playgroud)
即使它们都评估相同的数字也不起作用.
[% IF OrgType.id == 3 %]selected="selected"[% END %]
Run Code Online (Sandbox Code Playgroud)
(即用于测试目的的硬编码)确实有效.
[% OrgType.id %] and [% Organization.org_type_id %]
Run Code Online (Sandbox Code Playgroud)
两者都在页面上打印"3".
fri*_*edo 10
以下适用于我:
my $tt = Template->new;
$tt->process( \"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => 42 } );
Run Code Online (Sandbox Code Playgroud)
那输出'等等'.所以我怀疑你的两个变量不包含你认为他们做的事情.Template Toolkit使用字符串相等==,所以如果你这样做:
my $tt = Template->new;
$tt->process( \"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => "42 " } );
Run Code Online (Sandbox Code Playgroud)
它会破裂.您可能需要稍微按下数据以使它们在字符串相等的情况下正常工作.