如何在凤凰框架中的网站上进行聊天功能?

时间:2016-05-07 09:02:59

标签: elixir phoenix-framework

我想在我的网站上发表聊天功能。用户登录时,用户可以向其他用户发送消息。我有用户,聊天和消息模型。

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。我正在努力分配收到消息的用户..我该怎么做?

1 个答案:

答案 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