匿名模式不起作用

我刚刚在我的 Discourse 实例上尝试了匿名模式,但点击进入时没有任何反应。

我在 JS 日志中看到的错误如下:

iPhone / Safari

消息(报告了 12 份副本)

NoMethodError(未定义方法 `<`,接收者为 nil:NilClass)
/var/www/discourse/app/services/anonymous_shadow_creator.rb:34:in `get'

回溯

/var/www/discourse/app/services/anonymous_shadow_creator.rb:34:in `get'
/var/www/discourse/app/services/anonymous_shadow_creator.rb:11:in `get'
/var/www/discourse/app/controllers/users_controller.rb:863:in `toggle_anon'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/abstract_controller/base.rb:195:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/action_controller/metal/rescue.rb:22:in `process_action'

环境

HTTP 主机:se23.life
1 个赞

如果被隐藏的用户从未发布过任何内容,似乎可能会出现这种情况?

3 个赞

不确定这里正确的修复方法是什么,我可以这样做:

但真正的问题是:拥有 post_count/topic_count 的用户怎么会没有 last_posted_at 呢?我没有深入调查,但这似乎不应该发生?

8 个赞

这对我起作用了,谢谢 @j.jaffeux :+1:

3 个赞

如果您有时间调查一下该用户为何处于这种状态,那会很有帮助,但如果无法做到也完全没关系。

感谢报告和更新 :+1:

2 个赞

非常奇怪——是我(站点管理员,用户 #1)。我本应在禁用该功能之前测试匿名模式。我今天重新启用了该功能,正是在那时遇到了这个错误。

1 个赞

嗯,好的,谢谢。我想我会先把这种情况归类为“因某些罕见历史导致的异常状态”……至少目前是这样:D

3 个赞

此主题在最后一次回复后 4 天自动关闭。不再允许新回复。