カテゴリがユーザーに対してミュートされていないか、設定ページを確認してください。
抗議しようとしていました。私がこの問題に気づいたのは、フォーラムのユーザー(私は管理者です)が「分類」セクション(カテゴリ)の欠落について不平を言い始めたからです。しかし、おっしゃる通り、私のユーザーにはミュート設定がなされています。問題は、私が自らミュート設定をした覚えがないことです。また、他のユーザーも不平を言っていることから、彼らにもミュート設定がなされているはずです。
これがどのようにして起こったのでしょうか?
ありがとうございます!
以前、そのカテゴリを「最新ページから非表示」に設定していましたか?もしそうであれば、その設定が削除された後に実行されたマイグレーションにより、サイト上のすべてのユーザーに対してカテゴリがミュート状態になっていた可能性があります。その場合は、Rails コンソールから修正できます。
ログには何も表示されていません。カテゴリ(以前のメッセージを参照)を再発見した後、広告を投稿してみました。投稿は成功しましたが、ボタンが表示されません。
カテゴリ設定では、前述のボタンがすべて選択されているのが確認できますが、私の掲載物には表示されません。
この問題を解決する方法をご存知でしょうか?
ありがとうございます!
いいえ、少なくとも私の知る限りではそうではありませんでした。ただ、ユーザーから不満の声が上がっているので、全員に対して無効化されているようです。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
これにより、カテゴリをミュートしているユーザーの数が返されます。
ボタンは、トピック作成者がトピックを開いた際にのみ表示されます。トピック一覧では表示されません。どちらのリストについてお話しされていますか?
気にしないでください!カテゴリのミュートを解除したら、ボタンが表示されるようになりました。あるいは、再起動でクリアされたのかもしれません。いずれにせよ、今は正常に動作しています。こんなことでお手数をおかけして申し訳ありませんでした。ご助言ありがとうございます!
Gunnar
機会があればすぐに試してみます。ありがとう!
@simon に感謝すべきだよ。彼が重労働をこなしてくれたんだ ![]()
Simon,
=> 43653
おっと。![]()
正直に言うと、上記のコマンドにある .destroy_all の部分が怖く見えます。これはミュートフラグを単に削除するだけでしょうか?
再度、ありがとうございます!
コンソールで実行する破壊的な操作は、どれも少し怖いですね。実行する前に必ずバックアップを取ってください。
CategoryUser レコードは、カテゴリに対するユーザーの通知レベルを表します。notification_level が 0 の場合、そのカテゴリはユーザーに対してミュートされていることを意味します。詳細はこちらでご確認いただけます:https://meta.discourse.org/t/how-do-i-set-category-tracking-level-defaults-historically/53165。
notification_level が 0 の CategoryUser レコードを、特定の 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
@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: この投稿を '販売取り消し' としてマークしますか?
こんにちは、@Dmitry_Krasnoperov さん、ありがとうございます!ロシア語への翻訳を追加しました。
他のプラグイン利用者の方へ…許可された言語にロシア語が含まれていない場合は、プラグインを更新する必要はありません。それ以外の部分は変更されていません。
めっちゃ速かった!!!すぐに本番環境にリリースして。
こんにちは、Janno さん
プラグインのドイツ語翻訳を作成しました。これをプラグインに追加することは可能でしょうか?
Discourse ではアップロードできないため、単に拡張子を .yml に変更するだけです。
client.de.txt (1.1 KB)
server.de.txt (218 Bytes)
こんにちは、@Lagger_Gandalf さん!ありがとうございます。ご提供いただいたドイツ語の翻訳を追加しました ![]()
私のフォーラムでは動作しません(悲しい)
プラグインを有効にした後、Discourseを再起動してみてください。それでも動作しない場合は、問題の詳細をより多く提供してください。ロシア語でメッセージを書いていただくことも可能です…多少は理解できます ![]()
こんにちは!すべてを有効にしてDiscourseを再起動しましたが、何も変わりません=/