スレッド化された gem を使用して 1 つの Rails アプリに 2 つのフォーラムを追加するにはどうすればよいですか?
概要
私は Rails は初めてで、スレッド化された gem と Ruby on Rails 7 を使用してフォーラムを構築しました。 このチュートリアルを見ました https://youtu.be/at1K99ACM4g 以前のフォーラムがあり、別のフォーラムを追加したいのですが、それは可能ですか?
方法が見つからなかったので、実際には試しませんでした。
チュートリアルでは、このコード行をroutes.rbに追加しました。
#config\routes.rb
mount Thredded::Engine => '/forum'
ルートを変更して 2 つの異なるフォーラムを作成するなどの方法はありますか。ルートに別のフォーラムを追加しようとしましたが、うまくいきませんでした。
解決策
私はその宝石に詳しくありません。ドキュメントをチェックして、希望することがすでに可能かどうかを確認しましたか? あなたにとって最善の方法は、独自のフォーラムを作成することです。
あなたが抱えている問題は、スレッドエンジンを複数の場所にマウントして、フォーラムごとに異なるURLを提供できる可能性があり、同じデータベースとテーブルを引き続き使用するため、情報が2つのフォーラム間で共有されるだけであるという事実にあります。
アプリケーションでこれを実現する方法はありませんが、フォーラムごとに独自のエンジンを作成し、移行をオーバーライドして別のテーブル名を指定し、deface gem を使用してモデルを再度開き、別のテーブル名などを指定することで解決できます。これは、元の gem を編集して、さまざまなモデル名やテーブル名の前に追加されるフォーラムの名前空間を可能にするイニシャライザを提供し、それらの変更を含めるために gem リポジトリにプル リクエストを発行することによっても実行できる可能性があります。 。
Rails に慣れていないので、これは始めるには少し多すぎるのではないかと思います。
別のオプションとして、エンジン自体をフォークしてテーブル名を適切に調整することもできますが、その方法ではマスター ブランチに対して行われた更新が失われます。
gem をチェックして、すでにこれが可能かどうかを確認しましたか?
したがって、フォーラムをリンクするオーバーライド制御 Web サイトを使用して、複数のサーバーでホストされる複数の Web サイトを作成するか、独自のフォーラムを作成する必要があります。これは非常に簡単です。