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 
これをぜひ実装してください!単に投票のテキストをハイライトしてコピー/ペーストしようとしただけだったのです(なぜそれが禁止されているのか、私にはわかりませんが)、その結果、誤って投票してしまいました。
それは可能です。再投票するか、場合によっては投票削除ボタンがあります。それがプラグインによるものか、現在利用可能かどうかはわかりません。
別の選択肢に投票するつもりはありません。私は投票を棄権していました。テキストをコピーして貼り付けられるように、クリック&ドラッグして選択したかっただけです。
こんにちは、この件について何か進展はありますか?あるユーザーから、ポールの公開投票をキャンセルできないという苦情を受けました。
類似のトピックはこちらです:Ability to remove my choice in a poll
まだ方法はないと思っていますが、@zogstrip さん、これを割り当てる価値はあるかもしれません。実は以前からこれをやるつもりでした。
まずは @designers の皆さんに、これを無条件に許可するのか、特定のアンケートに限って許可するのかを決めていただきたいと思います。
同意します、そろそろですね。
@nbianca さん、これをリストに追加してもらえますか?
ああ、おそらくこの画面だけを操作することになりますね:
「結果を表示」の後に「投票を削除」ボタンを追加してください。
アンケートの表示には影響しません。オプションを変更するには、内部を掘り下げる必要があります。
私のプラグインでは、構造化されたユーザー入力を取得するために投票機能を多用しているため、この変更は私にとって非常にありがたいものです。
投票が削除された際にも、変更があったことを把握できるよう、投票イベントを発火させたままにしていただけますでしょうか?
投票取り消し機能を以下に実装しました:
こんにちは、最新のビルドを dev 環境にプルダウンしてテストしたところ、おそらく意図的ではない小さな変更があることに気づきました。
小さな変更ですが、私が投票機能を独特な方法で使っているため、私にとっては重要なことです。
以前は、投票が 1 件もなかった場合、「結果を表示」ボタンは無効化されていました。これは理にかなっていました。結果が表示されるものがないので、「結果を表示」ボタンは押せるべきではないからです。見た目は以下のようでした…
新しい「投票取り消し」ビルドでは、投票の有無にかかわらず「結果を表示」ボタンが常に有効になっているように見えます。
いくつか質問があります:これは事実でしょうか?これは意図的なものだったのでしょうか、それとも見落としだったのでしょうか?元に戻す予定はありますか?
もしこのまま変更されない場合、私の望む結果を得るための別の方法を試してみます。
どちらにせよ、非常にうまく機能しているように見える「投票取り消し」機能を提供してくださりありがとうございます!
なぜこれが私にとって問題なのでしょうか?私は主に個人ユーザーからの入力を収集するために投票機能を使用しています。つまり、投票機能を使えば、特定のコンテキストで個人ユーザーに具体的な質問を投げかけることができます。投票機能には 1 件以上の投票が投じられることはめったにありませんが、構造化されたデータを収集するのが非常に簡単になります。
私のプラグインでは、トピックに複数の投票機能が含まれることがあり、これらの投票機能には多くの選択肢が含まれるため、スクロールが必要になることが多いです。ユーザーのナビゲーションを容易にするために、私が作成したテーマコンポーネントは、ユーザーが投票すると、投票機能の UI から他の選択肢を削除し、ユーザーが選択した選択肢のみを残します。
これらの選択肢を削除するために、私のテーマコンポーネントは有効化された「結果を表示」ボタンを対象として「クリック」します。結果が表示されると、投票がない選択肢がすべて削除されます。
最終的な見た目は以下のようになります。
現在、「結果を表示」ボタンはデフォルトで有効化されているため、私のコードはそれをクリックします。投票が 1 件もないため、すべての選択肢が削除され、以下のように表示されてしまいます…
結果が常に表示されるようになった今、この問題を別のアプローチで解決できるか考えてみましたが、もっと簡単な方法で目的を達成できることに気づきました。
ですので、現状のまま変更しないでください!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 日後に自動的に閉鎖されました。新しい返信は受け付けられません。