3

Kynetxアプリを実行すると、次のエラーが発生します。

Can't use an undefined value as an ARRAY reference at /web/lib/perl/Kynetx/Persistence.pm line 284, <GEN0> line 465. 

私のコードは次のようになります。

rule page_loaded is active {
  select when pageview "manticore.*" setting()
  pre {
    savedName = current ent:userName;
  }
  if (savedName neq "") then {
    notify("Hello #{savedName}!!","Welcome back!") with sticky = true;
  }
  notfired {
    raise explicit event name_not_saved_yet;
  }  
}  

私は以前にこのコードを機能させていましたが、今何がそれを殺しているのかわかりません。

更新: デバッグ情報から。

// 2010/12/07 16:45:31 DEBUG Scheduler.pm a57x4 clear_saved_name Schedule iterator returning email_client with current RID count 0 and current rule count 3
// 2010/12/07 16:45:31 DEBUG Rules.pm a57x4 email_client Rule email_client is active
// 2010/12/07 16:45:31 DEBUG Rules.pm a57x4 email_client [selected] email_client
// 2010/12/07 16:45:31 DEBUG Rules.pm a57x4 email_client
//------------------- begin rule execution: email_client ------------------------
// 2010/12/07 16:45:31 ERROR Rules.pm a57x4 email_client Ruleset a57x4 failed: Can't use an undefined value as an ARRAY reference at /web/lib/perl/Kynetx/Persistence.pm line 284, <GEN0> line 6. 
4

1 に答える 1

3

トレイルの保存方法を変更しました。バグ修正をできるだけ早く行います。

私があなたにいくつかの秘密の機能を見せたら、あなたは言わないことを約束する必要があります

エンティティ変数については、構文を試してください(変数myUserNameがある場合)。

 set ent:userName myUserName

次に、あなたの例として、次のように書くことができます。

pre {
  savedName = ent:userName || "";
}
if (savedName neq "") then ....

修正がリリースされたら、この回答を更新します

于 2010-12-08T00:00:46.933 に答える