尝试索引“wikibase”字段(一个空值)。

我在我的 MediaWiki 站点中导入了 it.WikipediaModulo:Bio,但我得到了以下错误:

Error Lua in Module:Bio line 700: attempt to index field 'wikibase' (a nil value).

在第 700 行,我有以下代码:

local entity = mw.wikibase.getEntityObject()

我有多个共享相同源代码和相同数据库但拥有自己的表的维基。然后我的 wikibase 是 mybase.mywiki.com

我尝试通过将 wikibase 更改为 mybase 来解决:

local entity = mw.mybase.getEntityObject()

但是它不起作用。

点赞
用户869951
用户869951

问题不在于 wikibase,错误信息只是说明 mw 表中没有名为 wikibase 的字段,所以问题在于 mw 不包含你认为应该包含的内容。你必须找到将 wikibase 字段放在 mw 中的代码。如果它执行的是类似于 mw.wikibase = something,而 somethingnil,那么就好像那行代码没有执行一样(将 nil 赋值给表字段不是错误,它就像是如果已经存在该字段,则移除该字段,如果不存在,则什么也不做)。当 something 是函数调用时,这是一个常见的错误,函数在某些情况下可能会返回 nil

2014-10-26 12:27:43