tknospdr
(David Muszynski)
2025 年6 月 10 日 16:27
1
在尝试管理类别下的标签组时,我遇到了一个通用的Internal Server Error(内部服务器错误)弹出窗口。
我可以管理类别下的标签,并且可以在管理后台正常编辑标签组。
问题只出现在任何类别下,如果我点击扳手图标,然后点击标签,那么在尝试选择以下任一标签组时,就会出现错误:
将这些标签组限制到此类别:
或者
要求新主题必须包含来自以下标签组的标签:
我不知道该在哪里查找此错误的日志。
我们计划在未来几天内正式上线这个论坛,如果有人能帮助我及时解决这个问题,我将非常感激。
我们确实需要在启动前能够要求特定类别中必须包含某些标签。
2 个赞
抱歉,您遇到了这个问题。
当您在打开 JavaScript 控制台的情况下尝试这些操作时,是否看到任何有助于故障排除的额外错误消息?
我刚刚尝试了一下,无法重现。它只是正确保存了。
您能否分享一个您正在尝试用于分类的标签组的“编辑标签组”页面的屏幕截图?也许权限不匹配?
tknospdr
(David Muszynski)
2025 年6 月 10 日 16:39
3
我收到:
Failed to load resource: the server responded with a status of 500 () ... https://connect.checkinpos.com/tag_groups/filter/search?q=&limit=3
我有 3 个不同的标签组可用,但它甚至没有进展到显示我可用的组。当我点击按钮时,弹出窗口就会出现。
您是否尝试过在安全模式下运行?可能是某个插件或组件产生了干扰?
您是否已更新到 Discourse 的最新版本?
tknospdr
(David Muszynski)
2025 年6 月 10 日 16:46
5
是的,我今天早上刚更新。 可能是更新破坏了某些东西。
我不知道 Discourse 有安全模式,等一下……
是的,在安全模式下仍然会发生。
1 个赞
tknospdr
(David Muszynski)
2025 年6 月 10 日 16:50
7
2
[DiscourseJsProcessor] DEPRECATION: The parts property on path nodes is deprecated, use head and tail instead
2 6月 2:27 下午
Job exception: Unsupported command argument type: FalseClass
周一 1:47 下午
Job exception: Unsupported command argument type: FalseClass
周一 3:10 下午
RuntimeError (default :limit is not between 0 and 3) app/controllers/application_controller.rb:1027:in `fetch_int_from_params' app/controllers/application_controller.rb:1020:in `fetch_limit_from_param
9:24 上午
4
[DiscourseJsProcessor] DEPRECATION: The parts property on path nodes is deprecated, use head and tail instead
9:33 上午
2
[DiscourseJsProcessor] DEPRECATION: The parts property on path nodes is deprecated, use head and tail instead
9:33 上午
16
RuntimeError (default :limit is not between 0 and 3) app/controllers/application_controller.rb:1025:in `fetch_int_from_params' app/controllers/application_controller.rb:1018:in `fetch_limit_from_param
很难在您的网站之外的其他网站上提供重现步骤来帮助您进行故障排除。
也许可以尝试删除您的标签组并重新创建它们?
tknospdr
(David Muszynski)
2025 年6 月 10 日 16:56
9
我稍后会尝试一下。其他组已经被分配到不同的类别,并且还在继续工作,所以我担心销毁和重建后无法重新分配它们。
你能回滚到 Discourse 的早期版本吗?我今天早上更新之前做了一个备份。
Moin
2025 年6 月 10 日 17:33
10
您能告诉我您是否更改了 max_tag_search_results 站点设置吗?
2 个赞
Moin
2025 年6 月 10 日 17:40
12
我可以通过将我的网站上的设置更改为 3 来重现此问题。
您可以尝试将其改回 5 吗?
2 个赞
tknospdr
(David Muszynski)
2025 年6 月 10 日 17:53
13
这确实解决了问题。 看起来像个bug,不是吗?
我不认为更改该设置会影响另一个设置的选择。
2 个赞
是的,你发现了一个 bug! 感谢你坚持不懈地找出问题的根源。
干得好,@moin ,找到了重现方法!
我们会着手处理这个问题。
1 个赞
tknospdr
(David Muszynski)
2025 年6 月 10 日 18:06
16
很高兴能帮到你,但我只是做了更聪明的人告诉我的事……
1 个赞
Moin
2025 年6 月 10 日 18:11
17
tknospdr:
我不认为更改该设置会影响另一个设置的选择。
您提供的日志帮助我找到了它。
我在代码中搜索了 fetch_limit_from_param,并在标签组控制器中找到了一行引用了该设置。
matches = TagGroup.includes(:tags).visible(guardian).all
matches = matches.where("lower(name) ILIKE ?", "%#{params[:q].strip}%") if params[:q].present?
if params[:names].present?
matches = matches.where("lower(NAME) in (?)", params[:names].map(&:downcase))
end
matches =
matches.order("name").limit(
fetch_limit_from_params(default: 5, max: SiteSetting.max_tag_search_results),
)
render json: {
results:
matches.map { |x| { name: x.name, tag_names: x.tags.base_tags.pluck(:name).sort } },
}
end
private
完整的消息和日志回溯
Message
RuntimeError (default :limit is not between 0 and 3)
app/controllers/application_controller.rb:1025:in `fetch_int_from_params'
app/controllers/application_controller.rb:1018:in `fetch_limit_from_params'
app/controllers/tag_groups_controller.rb:95:in `search'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
Backtrace
app/controllers/application_controller.rb:1025:in `fetch_int_from_params'
app/controllers/application_controller.rb:1018:in `fetch_limit_from_params'
app/controllers/tag_groups_controller.rb:95:in `search'
actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.13) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.13) lib/rack/head.rb:12:in `call'
actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
lograge (0.14.0) lib/lograge/rails_ext/rack/logger.rb:18:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.13) lib/rack/method_override.rb:24:in `call'
rack (2.2.13) lib/rack/sendfile.rb:110:in `call'
plugins/discourse-prometheus/lib/middleware/metrics.rb:14:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
rails_failover (2.2.0) lib/rails_failover/active_record/middleware.rb:67:in `block in call'
activerecord (7.2.2.1) lib/active_record/connection_handling.rb:376:in `with_role_and_shard'
activerecord (7.2.2.1) lib/active_record/connection_handling.rb:147:in `connected_to'
rails_failover (2.2.0) lib/rails_failover/active_record/middleware.rb:64:in `call'
rails_multisite (6.1.0) lib/rails_multisite/middleware.rb:26:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.13) lib/rack/urlmap.rb:58:in `each'
rack (2.2.13) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'
3 个赞