前提・実現したいこと
合コンマッチングアプリを作っています。
つまり複数人対複数人のマッチングアプリです。
お気に入りしたユーザー同士でチャットができるように条件分岐したいのですが、その条件分岐が複雑すぎてわかりません。
アプリの概要を説明します。
現在使用しているモデルは、UserモデルとUserInfoモデルとRoomUserモデルです。
UserInfoモデルはUserが投稿した情報(エリア、人数)が記述してあります。
投稿できる数は、1ユーザーにつき1つです。
その投稿されている情報を他のユーザーはお気に入りに登録することができます。
お互いの投稿にお互いがお気に入りした際に、チャットができるようにしたいです。
今回の問題は、その「お互いの投稿にお互いがお気に入りした際」という条件分岐です。
ここがわからず、半日ほど悩んでおります。。( ; ; )
該当のソースコード
class RoomsController < ApplicationController def new end end
↑チャットルームのコントローラーです。
ここのnewアクション内に、条件分岐をさせたいです。
###favoritesテーブル
Column | Type | Options |
---|---|---|
user_id | string | null: false |
user_info_id | string | null: false |
- belongs_to :user
- belongs_to :user_info
###favoritesデータベース
user_id | user_info_id | |
---|---|---|
1 | 1 | 2 |
2 | 1 | 4 |
3 | 2 | 4 |
4 | 4 | 5 |
5 | 2 | 1 |
6 | 1 | 6 |
これはSequel Proの状態を簡易的に表しています。
一番左の列がidです。
user_idの列がお気に入りをしたユーザーです。
user_info_idの列がお気に入りをされた投稿です。
ここではuser_info_idの数字とそれを投稿したuserのidは同じだと考えてください。
試したこと
rails
1class RoomsController < ApplicationController 2 def new 3 @another_user = User.where.not(id: current_user.id) 4 if (Favorite.user_id.current_user == Favorite.@another_user.user_info_id) && (Favorete.current_user.user_info_id == Favorite.@another_user.user_id) 5 end 6end
rooms_controllerを上記のように記述しました。。
間違っていると思ったので、これで実行はしていません。
どなたかこの条件分岐ができる方いらっしゃいませんか?
ご回答お待ちしています( ;∀;)
回答1件
あなたの回答
tips
プレビュー