1
페이스 북과 비슷한 스레드 메시지 시스템을 설정했습니다. 한 사용자가 여러 대화를 동시에 진행할 수 있습니다. 이러한 각 대화에는 관련 그룹의 고유 한 그룹이 있으며 각 그룹에는 여러 개의 메시지가 포함되어 있습니다. 많은 방법 :이를 수행하는 더 좋은 방법은 무엇입니까?
class Message < ActiveRecord::Base
belongs_to :conversation
end
class User < ActiveRecord::Base
has_many :involvements
has_many :conversations, through: :involvements, unique: true
end
class Involvement < ActiveRecord::Base
belongs_to :user
belongs_to :involvable, polymorphic: true
end
class Conversation < ActiveRecord::Base
has_many :involvements, as: :involvable
has_many :participants, through: :involved, class_name: "User", unique: true
has_many :messages
end
는 나는이 작업을하지만, 더 좋은, 더 효율적인 방법이 있어야한다처럼 나는 느낌을 도울 수있어 이 설정을 압축하려면 예를 들어 3 개의 모델을 사용하십시오. 또는 어쩌면 독특한 열 또는 무언가와 habtm을 사용하여 ...
메시지를 보내는 네 개의 모델은 너무 많은 것 같습니다. 어떤 제안? 아니면 내가 걱정할 필요가없는 무엇인가?
왜 4가 너무 많은 것처럼 보입니까? 이에 대한 4 가지 데이터가 있습니다. 사용자, 대화 참여, 대화 및 해당 대화 내의 메시지입니다. 설정이 매우 합리적입니다. – deefour