トレーディングボタン

カテゴリがユーザーに対してミュートされていないか、設定ページを確認してください。

「いいね!」 1

抗議しようとしていました。私がこの問題に気づいたのは、フォーラムのユーザー(私は管理者です)が「分類」セクション(カテゴリ)の欠落について不平を言い始めたからです。しかし、おっしゃる通り、私のユーザーにはミュート設定がなされています。問題は、私が自らミュート設定をした覚えがないことです。また、他のユーザーも不平を言っていることから、彼らにもミュート設定がなされているはずです。

これがどのようにして起こったのでしょうか?

ありがとうございます!

以前、そのカテゴリを「最新ページから非表示」に設定していましたか?もしそうであれば、その設定が削除された後に実行されたマイグレーションにより、サイト上のすべてのユーザーに対してカテゴリがミュート状態になっていた可能性があります。その場合は、Rails コンソールから修正できます。

「いいね!」 2

ログには何も表示されていません。カテゴリ(以前のメッセージを参照)を再発見した後、広告を投稿してみました。投稿は成功しましたが、ボタンが表示されません。

カテゴリ設定では、前述のボタンがすべて選択されているのが確認できますが、私の掲載物には表示されません。

この問題を解決する方法をご存知でしょうか?

ありがとうございます!

いいえ、少なくとも私の知る限りではそうではありませんでした。ただ、ユーザーから不満の声が上がっているので、全員に対して無効化されているようです。Rails コンソールからそれを修正するにはどうすればよいでしょうか?

ありがとうございます!

万が一のために、まずサイトのバックアップを取得してください。その後、以下を実行します。

# カテゴリを取得し、変数に代入する
c = Category.find_by(name: "<your category name>")

# 全ユーザーに対してカテゴリのミュートを解除する
CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all

編集:
2 番目のコマンドを実行する前に、どのくらいの数のユーザーがこのカテゴリをミュートしているかを確認したい場合は、以下を実行してみてください。

CategoryUser.where(category_id: c.id, notification_level: 0).count

これにより、カテゴリをミュートしているユーザーの数が返されます。

「いいね!」 3

ボタンは、トピック作成者がトピックを開いた際にのみ表示されます。トピック一覧では表示されません。どちらのリストについてお話しされていますか?

気にしないでください!カテゴリのミュートを解除したら、ボタンが表示されるようになりました。あるいは、再起動でクリアされたのかもしれません。いずれにせよ、今は正常に動作しています。こんなことでお手数をおかけして申し訳ありませんでした。ご助言ありがとうございます!

Gunnar

「いいね!」 1

機会があればすぐに試してみます。ありがとう!

@simon に感謝すべきだよ。彼が重労働をこなしてくれたんだ :wink:

「いいね!」 2

Simon,

=> 43653

おっと。:wink:

正直に言うと、上記のコマンドにある .destroy_all の部分が怖く見えます。これはミュートフラグを単に削除するだけでしょうか?

再度、ありがとうございます!

コンソールで実行する破壊的な操作は、どれも少し怖いですね。実行する前に必ずバックアップを取ってください。

CategoryUser レコードは、カテゴリに対するユーザーの通知レベルを表します。notification_level0 の場合、そのカテゴリはユーザーに対してミュートされていることを意味します。詳細はこちらでご確認いただけます:https://meta.discourse.org/t/how-do-i-set-category-tracking-level-defaults-historically/53165。

notification_level0CategoryUser レコードを、特定の category_id に対してすべて削除すると、サイト上の全ユーザーからそのカテゴリがミュートリストから削除されます。

このようなコマンドを実行する際、私は通常、上記に記載していない追加のステップを踏みます。次のようなコマンドを単一ステップで実行するのではなく、

CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all

レコードを変数に代入して、正しいデータを取り扱っているか再確認します。例えば以下のようにします:

# カテゴリを取得して変数に代入
c = Category.find_by(name: "<your category name>")

# category_users を変数に代入し、データを検査します。レコードに正しい category_id などが含まれているか確認してください。
muted_category_users = CategoryUser.where(category_id: c.id, notification_level: 0)

# データが正しいと確信したら実行
muted_category_users.destroy_all
「いいね!」 3

@Janno_Liivak さん、プラグインを提供していただき、誠にありがとうございます!

ロシア語翻訳を追加してください。以下にプレーンテキストで記載します。

server.ru.yml

ru:
  site_settings:
    topic_trade_buttons_enabled: "販売管理ボタンを有効化しますか?"
  topic_trading:
    sold: 販売済み
    purchased: 購入済み
    exchanged: 交換済み
    cancelled: 販売取り消し

client.ru.yml

ru:
  js:
    topic_trading:
      enable_sold_button: "'販売済み' ボタンを有効化"
      enable_purchased_button: "'購入済み' ボタンを有効化"
      enable_exchanged_button: "'交換済み' ボタンを有効化"
      enable_cancelled_button: "'販売取り消し' ボタンを有効化"
      sold: 販売済み
      purchased: 購入済み
      exchanged: 交換済み
      cancelled: 販売取り消し
      error_while_marked_as_sold: "'販売済み' としてマークする際にエラーが発生しました"
      error_while_marked_as_purchased: "'購入済み' としてマークする際にエラーが発生しました"
      error_while_marked_as_exchanged: "'交換済み' としてマークする際にエラーが発生しました"
      error_while_marked_as_cancelled: "'販売取り消し' としてマークする際にエラーが発生しました"
      mark_as_sold_confirm: この投稿を '販売済み' としてマークしますか?
      mark_as_purchased_confirm: この投稿を '購入済み' としてマークしますか?
      mark_as_exchanged_confirm: この投稿を '交換済み' としてマークしますか?
      mark_as_cancelled_confirm: この投稿を '販売取り消し' としてマークしますか?
「いいね!」 3

こんにちは、@Dmitry_Krasnoperov さん、ありがとうございます!ロシア語への翻訳を追加しました。

他のプラグイン利用者の方へ…許可された言語にロシア語が含まれていない場合は、プラグインを更新する必要はありません。それ以外の部分は変更されていません。

「いいね!」 2

めっちゃ速かった!!!すぐに本番環境にリリースして。

「いいね!」 3

こんにちは、Janno さん

プラグインのドイツ語翻訳を作成しました。これをプラグインに追加することは可能でしょうか?

Discourse ではアップロードできないため、単に拡張子を .yml に変更するだけです。
client.de.txt (1.1 KB)
server.de.txt (218 Bytes)

「いいね!」 4

こんにちは、@Lagger_Gandalf さん!ありがとうございます。ご提供いただいたドイツ語の翻訳を追加しました :slight_smile:

「いいね!」 3

私のフォーラムでは動作しません(悲しい)

プラグインを有効にした後、Discourseを再起動してみてください。それでも動作しない場合は、問題の詳細をより多く提供してください。ロシア語でメッセージを書いていただくことも可能です…多少は理解できます :slight_smile:

「いいね!」 1

こんにちは!すべてを有効にしてDiscourseを再起動しましたが、何も変わりません=/

「いいね!」 1