我想在我的网站上发表聊天功能。用户登录时,用户可以向其他用户发送消息。我有用户,聊天和消息模型。
schema "chats" do
belongs_to :user, Myapp.User
has_many :messages, Myapp.Message
timestamps
end
schema "users" do
has_many :chats, Myapp.Chat
has_many :messages, Myapp.Message
timestamps
end
schema "messages" do
belongs_to :chats, Myapp.User
belongs_to :users, Myapp.User
timestamps
end
我已将用户分配给聊天记录,以便在用户进行新聊天时,将分配发件人的user_id。我正在努力分配收到消息的用户..我该怎么做?
答案 0 :(得分:0)
有很多方法可以模拟聊天。 最简单的方法之一是只创建一对一聊天:
schema "chats"
belongs_to :user1, Myapp.User
belongs_to :user2, Myapp.User
has_many :messages, Myapp.Message
然后用户不必拥有消息,只需聊天:
schema "users"
has_many :chats, Myapp.Chat
schema "messages" do
belongs_to :chat, Myapp.User
belongs_to :from_user, Myapp.User
belongs_to :to_user, Myapp.User
如果您想创建实时聊天应用程序,您还应该查看Phoenix频道和此示例聊天应用程序:https://github.com/chrismccord/phoenix_chat_example