Is posible remove a vote from a poll?
I only can change my vote, but I can’t “cancel”
Is posible remove a vote from a poll?
I only can change my vote, but I can’t “cancel”
Not sure if that is possible at the current time.
Nope, there’s currently no way to “unvote” on a poll. Added to my 
这必须实现,拜托了!我只是想高亮显示投票的文本以便复制/粘贴(顺便说一句,我不明白为什么这不被允许),结果我误投了票。
你可以这样做,要么重新投票,要么在某些情况下有一个取消投票按钮,不确定这是插件还是现在可用的功能。
我不想投票给其他选项。我只是在弃权。我只希望点击并拖动以选中文字,然后复制粘贴。
你好,关于此事有任何消息吗?我收到一位用户的投诉,他无法取消自己在投票中的公开选择。
我仍然认为没有可行的方法,@zogstrip 或许值得将此任务分配出去,因为我们早就打算做了。
也许 @designers 首先要确定的是,我们是否要无条件地允许此功能,还是仅针对特定的投票允许?
我同意,是时候了。
@nbianca 你能把这个加到你的列表里吗?
我在插件中大量使用投票功能来收集结构化的用户输入,因此这对来说将是一个很好的改进。
能否请求在移除投票时仍然触发投票事件,以便我知晓发生了变更?
我已在以下地址实现了取消投票功能:
你好,我刚将最新构建拉取到我的开发环境进行测试,发现了一个小的、或许非预期的变更。
这是一个细微的改动,但由于我使用投票功能的特殊方式,这对我来说意义重大。
以前,如果投票中没有选票,“显示结果”按钮会被禁用。这很合理,因为没有结果可看,所以“显示结果”按钮不应可点击。它看起来是这样的…
在新的“取消投票”构建中,似乎无论是否有投票,“显示结果”按钮始终处于启用状态。
有几个问题:情况确实如此吗?这是有意为之还是疏忽?你们会改回来吗?
如果保持现状,我会尝试另一种方法来实现我期望的结果。
无论如何,感谢“取消投票”功能,它看起来运行得非常顺利!
为什么这对我来说是个问题?我使用投票来收集(主要是)单个用户的输入。也就是说,投票允许我在特定上下文中向单个用户提出具体问题。投票中很少有多于一张选票,但它们使得收集结构化数据变得非常容易。
在我的插件中,一个主题可以包含多个投票,这些投票可以包含大量选项,这意味着需要大量滚动。为了方便用户导航,一旦用户投票,我编写的一个主题组件会从投票 UI 中移除其他选项,只保留他们选择的选项。
为了移除这些选项,我的主题组件会定位一个已启用的“显示结果”按钮并“点击”它。一旦结果显示出来,任何没有收到选票的选项都会被移除。
最终效果如下。
目前,由于“显示结果”按钮默认处于启用状态,我的代码会点击它。由于没有任何投票,所有选项都被移除,看起来是这样的…
我刚刚重新思考了这个问题,既然结果现在总是显示出来,我意识到可以用一种简单得多的方式来实现我的目标。
所以请保持原样!LOL ![]()
我只需选中目标(或非 .chosen)的结果元素,并将它们设置为不显示。
div.poll div.poll-container ul.results > li:not(.chosen) {
display: none;
}
当我几年前编写这段代码时,我可能没有注意到 .chosen 类,或者这是最近才添加的?
无论如何,我之前的实现明显过度设计了(轮询 JavaScript!),而这段代码似乎就能满足我的需求。

再次感谢。
哦,这是我的疏忽。我刚刚重新实现了它,很快就会上线:
我认为这种情况已经持续一段时间了。
现在正在测试,@nbianca,按钮现在看起来和以前一样工作了。谢谢!
还有一个问题,我使用 DiscoursePoll::Poll.vote 方法来自动对投票进行投票。我在代码中遇到了一些问题。能否确认在重构投票代码时,您更改了方法签名?
我的代码 原本 假设的签名是:
def vote(post_id, poll_name, options, user)
而在您的更改之后,签名现在似乎是:
def self.vote(user, post_id, poll_name, options)
即 user 参数原本在第 4 位,现在变成了第 1 位,其他所有参数都随之移位。
能否验证上述假设是否正确?您认为是否还有其他类似的重构更改可能会让我遇到问题?
顺便一提,投票移除功能似乎运行良好!
您说得对。我将 user 移动为大多数函数的第一个参数,因为这是我们通常遵循的约定。
此主题在 9 天后自动关闭。不再允许新的回复。