当我运行我的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.
答案 0 :(得分:3)
我们改变了存储路径的方式。我会尽快修复错误。
如果我向您展示一些秘密功能,您需要承诺不要告诉
为您的实体变量尝试语法(如果您有一个变量myUserName):
set ent:userName myUserName
然后,对于您的示例,您可以写:
pre {
savedName = ent:userName || "";
}
if (savedName neq "") then ....
我们发布修补程序时会更新此答案