Jest jakiś gem który ułatwi życie w utworzeniu relacji między User’ami, czy będę musiał sam główkować jak to rozwiązać
Obecnie mam relacje w stylu kto kogo “zaprosił”, mogę porównywać User’ów i ten sposób wyciągać czy obydwa User’y się zaprosili.
Przejrzyj ruby-toolbox – są tam takie gemy jak social stream i amico – nie wiem do końca czego potrzebujesz, ale możliwe, że jest to overkill, i lepiej samemu sobie coś takiego napisać. A jeśli potrzebujesz czegoś na prawdę hardcorowego, zainteresuj się neo4j.
Chodzi mi oto że User1 mógł oglądać strony Usera2, jeśli będzie zgoda z obydwu strony. Czyli jak de facto jak będą znajomymi między sobą. A tak ma iść info że dupa, nie masz praw do tej strony.
Social na niskim poziomie.
Czyli w/w zastosowania to overkill. Potrzebujesz na poziomie kontrolera:
raise Unauthorized unless current_user.friend_of?(user)
i modelu
def friend_of?(user)
friendships.where(friend_id: user.id).exists?
end
– potraktuj to jako proof of concept. Trzeba zmienić klasę wyjątku(lub nie rzucać wyjątkiem i rozwiązać to inaczej), dodać potwierdzanie znajomości itp.
W każdym razie zdecydowanie za mało kodu na to, żeby używać do tego gema
Dzięki za Odp. Przemyśle jak to rozwalić i napisze sam