2010-02-12 3 views
4
[% IF OrgType.id == Organization.org_type_id %]selected="selected"[% END %] 

둘 다 같은 수로 평가되는 경우에도 작동하지 않습니다.Template Toolkit에서 두 변수를 비교하는 방법이 있습니까?

[% IF OrgType.id == 3 %]selected="selected"[% END %] 

(테스트 용으로 하드 코딩)이 효과적입니다.

[% OrgType.id %] and [% Organization.org_type_id %] 

둘 다 페이지에 "3"을 인쇄합니다. 나를 위해

+0

Perl 측에서 정확히 동일한 지 확인하십시오. –

답변

10

다음 작품 :

my $tt = Template->new; 
$tt->process(\"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => 42 }); 

그 출력 'ㅋ'. 그래서 나는 두 변수가 자신이 생각하는 것을 포함하지 않는다고 생각합니다. 템플릿 Toolkit은 ==에 대한 문자열 평등을 사용하기 때문에 당신이 할 경우 :

my $tt = Template->new; 
$tt->process(\"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => "42 " }); 

이 중단됩니다. 문자열 평등과 함께 제대로 작동하려면 데이터를 약간 마사지해야 할 수도 있습니다.

관련 문제