N:Nのリレーションを組ませたデータ登録で,ユーザーに選択させるのではなくこちら側で自動的に登録したい場合どうやってするのでしょうか??

Conversations groupとRoomsがN:Nの関係で,Roomsが5種類あるうちの3つは強制的に選択されて残りの2つは自由にユーザーが選択できるようにしたいです.

N:Nの関係のものをこちら側で一部強制的に選ばせる方法が知りたいです.
どなたかご存知でしたらお願いいたします.

「いいね!」 1

新規ユーザーを作るときのSing Up スクリーンにおいて Signupのほかに、
UpdateのActionを付ければOKです。

(既存のUserは、登録登録できないので、管理者側ですべてのRoomを追加する必要があります)

「いいね!」 1

それだとCurrent Roomを選択できます?。三つのRoomsをUserに自動でリレーションさせるのはAdalo だと結構大変な処理な気がしますね:thinking:

「いいね!」 1

なぜか選択できないのは他に問題があるのでしょうか??

「いいね!」 1

あ、:sweat_drops: そうでした。

N:N だとCurrent できなかったですね。
@mori さん 申し訳ないです。 N:N だと、確定できるものが無いので、選べないです。
間違ってました。申し訳ないです。

ここで選ぶには、1:N のRelationを選ぶ必要があります。

ただ、強制加入なので、N:N ではなく、1:N でもいい気はしました。
回答に対しての答えになってなくて申し訳ないです。 @kinari さんいう通り、純粋なN:N は、難しそうですね:sweat_drops:

強制加入 1:N
A Room
B Room
C Room

任意 M:M
D ROOM
E ROOM

「いいね!」 1

@tsubasa 全然問題ないです!
いつもありがとうございます!

1:Nでの強制加入のやり方もう少し詳しく教えていただいてもよろしいでしょうか??
(Conversations groupが新しくcreateされるたびに,Roomsの既存の5つのレコードから3つが強制加入されるといった流れです.)

「いいね!」 1

伝え方が、悪かったですね、申し訳ないです。

強制加入 ROOM は、いわば、承認制の掲示板と同じですので、
Conversations group というのは、「誰」が話しているか?というのを残しておくDBなので、
必要無いです。

強制加入ROOMは、
Room とMessage だけで構築し、

任意ROOMは、別のDBで
Conversations group で対応するので対応できるかと。

なるほど!任意と強制で全く同じロジックで構成する必要ないですもんね。勉強になります:brain:

「いいね!」 1

すいません,あんまりついていけていないのですが,以下のようなイメージのものが作れるということでいいのでしょうか??

Slackのようなものをイメージしております.
3人のユーザーのいるConversations groupがいくつかあり,その中に強制ルーム(どのConversations groupにもある)と任意ルームを用意して,それぞれのルームで異なるメッセージが行える.

いえ、その図でいくと、その構成を作ることは、難しいと思います。
N:NのRelationしている構成で強制加入の N:N構成を書くことは、いまのところ思い浮かびません。

Conversations group 配下に、強制加入任意加入 を入れるという構成が難しいかと思います。

なので DB構成としては、
Conversations group ・・任意加入
Room ・・・ 強制加入

という別々のDBを作成するほうが、簡単だと思うのです。
Conversations group 配下にすべてのRoom を入れたいということであれば、何か別の案を考える必要があります。が現状、思い浮かばないです:sweat_drops:

「いいね!」 1

ありがとうございます!

「いいね!」 1