カスタムボタンをクリックしたときに、サーバーサイドのコードを実行するにはどうすればよいですか?
たとえば、ボタンをクリックしたときに Jobs/Secheduled/test_job.rb ファイルを実行したいとします。
または、誰かが admin/plugins/my-plugin の URL にアクセスしたときに、このファイル内のコードを実行できますか?
私は Discourse プラグイン開発の初心者で、このようなことを行うのに苦労しています。何か助けていただけると幸いです。
カスタムボタンをクリックしたときに、サーバーサイドのコードを実行するにはどうすればよいですか?
たとえば、ボタンをクリックしたときに Jobs/Secheduled/test_job.rb ファイルを実行したいとします。
または、誰かが admin/plugins/my-plugin の URL にアクセスしたときに、このファイル内のコードを実行できますか?
私は Discourse プラグイン開発の初心者で、このようなことを行うのに苦労しています。何か助けていただけると幸いです。
それなら、そのコードを実行するエンドポイントにAjaxリクエストを行う必要があります。
サーバー側で何を実行したいか、もう少し詳しく教えていただけますか?
Jobs/Secheduled/test_job.rb 内のコードを実行したいです。
または、cron ジョブを実行したいと言ってもいいでしょう。
ファイル内のコードを実行するために、エンドポイントに ajax リクエストを行う方法のコード例を教えていただけますか?
まだ問題ではなく、解決策を説明しています。そのファイルで何をしたいのですか?トリガーするより良い方法があるかもしれません。それを知ることで、同様のものを提案しやすくなります。
サブスクリプションプラグインはエンドポイントを追加するので、それを調べてみてください。Railsにルートを追加し、Emberでボタンにそれを呼び出すアクションを追加する必要があります。
ユーザーが大量の投稿をしています。そのユーザーの投稿をすべて削除したいのですが、デフォルトの全投稿削除ボタンでは503エラーが発生します。そのため、2分ごとに実行されるcronジョブをスケジュールし、一度に100件の投稿を削除するコードを作成しました。
Railsコンソールで実行するだけで、プラグインを作成する必要はありません。
@pfaffman が提案しているように、言語機能を使用してください。これを実現するためにカスタムフロントエンドフックを作成するのは、まったくやりすぎです。
Railsに詳しくありません。そのユーザーの投稿を削除するコマンドを教えていただけますか?
PostDestroyer で検索してみてください。
はい、そうですが、サイトにはそのようなユーザーがたくさんいます。クライアントは技術者ではないので、どうすればよいでしょうか。クライアントが私に指示しているので、プラグインを作成する必要があります。
また、この問題は他のフォーラムサイトでも発生する可能性があります。直面している問題を確認する必要があります。将来のアップデートで、デフォルトの投稿削除機能を改善できます。
13件の投稿が既存のトピックにマージされました:特定のユーザーが作成したトピックを削除しようとすると502エラーが発生します