话题评分插件

我发现了一个小 bug:如果为某个分类开启了“需要版主审批所有新回复”,那么在审核过程中评分会丢失。

1 个赞

是的,目前尚未处理。能否在我们的实例上创建一个报告?

我本想在那里提交一个错误报告,但评分插件没有出现在错误报告向导的下拉菜单中。

2 个赞

我已经创建了一个,并在那里提到了你。

附:另外,已将评分插件添加到下拉菜单中。

不要在分类设置中显示“使用本分类的主题对事物进行评分”。Discourse 版本 2.6.0.beta1。可能是什么问题?

1 个赞

我们一个月前进行了大规模重写。您的数据完好无损。请查看一下,并告知我们迁移情况如何。

你好,

是否可以通过 CSS 隐藏创建主题时的评分,而仅在回复中显示?

感谢您的回答!:slightly_smiling_face:

1 个赞

我想我搞定了,我把代码留在这里,如果有人想用:
#reply-control.open.edit-title .composer-controls-rating .rating-container { display: none;}

这也许不是最佳做法,但对我有效。如果大家有更优雅的方法来隐藏创建话题时的评分,而只在回复时显示,请分享给我。谢谢 :slight_smile:

2 个赞

如果不允许创建,那么评分又怎么会显示出来呢?

你的意思是想指出一个关于谁有权限进行评分的具体功能吗?

附注:
哦,你是说原帖作者不能有评分?

这样做的用例是什么?

我可以按类别设置允许的评分。我在一个市场类别中使用它,因此我不希望卖家在创建话题时给自己评分。我只想让回复广告的买家看到此选项。

没错!

2 个赞

这将允许卖家在另一篇帖子中给出评分,不一定是原始发帖人。

2 个赞

我现在明白问题出在哪里了 :confused: 那么,我可以限制楼主不能在自己的主题中评分吗?

1 个赞

目前插件中尚未提供该功能。您可以在这里提交功能请求:Pavilion

如果您有预算,我们可以进一步讨论并尽快将其加入。

2 个赞

我也遇到了这个问题。我刚安装了此插件,当前使用的是 Discourse 2.6.0.beta1 版本。
在“编辑分类”对话框中似乎没有任何设置可以让我启用此插件。

1 个赞

该插件几乎已重写。现在,请前往 /admin/plugins,您将看到一个评分菜单,可在其中调整所有评分设置。

为明确说明,评分插件已在 /admin/plugins 中安装并启用。然而,在分类的设置中,无法为该分类启用评分功能。

2 个赞

明白了,这里有个问题。我会尽快修复。

附:我可以确认评分功能在最新的 tests-passed 分支上运行完全正常。

如果您遇到问题,请临时授予我访问您实例的权限,以便我仔细查看。您也可以尝试刷新页面,看看问题是否仍然存在。

1 个赞

我已经重新构建到最新版本,如果我不卸载这个插件,我就无法查看任何主题。即使我禁用这个插件,它仍然会报错。我的 app.yml 中所有其他插件都能正常工作,只有这个不行。这是我唯一需要卸载的插件,卸载后一切又顺利运行了。

在我的日志中,显示问题出在 ratings 上:

image

Spoiler
plugins/discourse-ratings/lib/ratings/rating.rb:154:in `serialize'
plugins/discourse-ratings/plugin.rb:201:in `block (2 levels) in activate!'
(eval):84:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
app/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'
activerecord (6.0.3.2) lib/active_record/relation/delegation.rb:87:in `each'
activerecord (6.0.3.2) lib/active_record/relation/delegation.rb:87:in `each'
app/serializers/post_stream_serializer_mixin.rb:47:in `map'
app/serializers/post_stream_serializer_mixin.rb:47:in `posts'
app/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'
(eval):3:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
activesupport (6.0.3.2) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (6.0.3.2) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (6.0.3.2) lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in `to_json'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/application_controller.rb:464:in `render_json_dump'
app/controllers/topics_controller.rb:1043:in `block (2 levels) in perform_show_response'
actionpack (6.0.3.2) lib/action_controller/metal/mime_responds.rb:214:in `respond_to'
app/controllers/topics_controller.rb:1033:in `perform_show_response'
app/controllers/topics_controller.rb:160:in `show'
actionpack (6.0.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:195:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
i18n (1.8.5) lib/i18n.rb:313:in `with_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:139:in `run_callbacks'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:136:in `process'
actionview (6.0.3.2) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'
actionpack (6.0.3.2) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.0.3.2) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/cookies.rb:648:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.2) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.0.3.2) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.0.3.2) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:19:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiler.rb:321:in `call'
message_bus (3.3.1) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:176:in `call'
railties (6.0.3.2) lib/rails/engine.rb:527:in `call'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (5.6.0) lib/unicorn/http_server.rb:632:in `process_client'
unicorn (5.6.0) lib/unicorn/http_server.rb:728:in `worker_loop'
unicorn (5.6.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
unicorn (5.6.0) lib/unicorn/http_server.rb:144:in `start'
unicorn (5.6.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'
2 个赞

你好,如果你能给我临时的管理员权限,我可以仔细查看。我这边无法复现该问题。

@Arkshine 有什么线索吗?

注意:我已单独测试了该插件。与其他插件的冲突是有可能的,但如果没有具体信息,我无法修复。

以下是我的插件列表。大部分是官方插件,其余是 Pavilion 插件。

Spoiler
  - git clone https://github.com/discourse/docker_manager.git
  - git clone https://github.com/discourse/discourse-adplugin.git
  - git clone https://github.com/discourse/discourse-calendar.git
  - git clone https://github.com/discourse/discourse-chart.git
  - git clone https://github.com/discourse/discourse-math.git
  - git clone https://github.com/discourse/discourse-voting.git
  - git clone https://github.com/procourse/procourse-static-pages.git
  - git clone https://github.com/discourse/discourse-signatures.git
  - git clone https://github.com/Ebsy/discourse-nationalflags.git
  - git clone https://github.com/discourse/discourse-chat-integration.git
  - git clone https://github.com/discourse/discourse-solved.git
  - git clone https://github.com/discourse/discourse-graphviz.git
  #- git clone https://github.com/paviliondev/discourse-ratings.git
  - git clone https://github.com/discourse/discourse-tooltips.git
  - git clone https://github.com/cpradio/discourse-plugin-imgflip.git
  - git clone https://github.com/paviliondev/discourse-topic-previews.git
  - git clone https://github.com/discourse/discourse-bbcode
  - git clone https://github.com/discourse/discourse-affiliate.git
  - git clone https://github.com/paviliondev/discourse-news.git
  - git clone https://github.com/discourse/discourse-sitemap.git
  - git clone https://github.com/paviliondev/discourse-layouts.git
  - git clone https://github.com/discourse/discourse-assign.git
  - git clone https://github.com/gdpelican/retort.git
  - git clone https://github.com/discourse/discourse-canned-replies.git
  - git clone https://github.com/discourse/discourse-cakeday.git
  - git clone https://github.com/paviliondev/discourse-follow.git
  - git clone https://github.com/cpradio/discourse-plugin-composer-help-button.git
  - git clone https://github.com/paviliondev/discourse-custom-wizard.git
  - git clone https://github.com/discourse/discourse-perspective-api.git
  - git clone https://github.com/paviliondev/discourse-tickets.git
  - git clone https://github.com/discourse/discourse-spoiler-alert.git

目前我无法承担重建站点并导致服务中断的成本。我稍后再检查。

1 个赞