Je travaille sur une application médicale. Dans celui-ci, j'ai des associations entre les utilisateurs et les clients (évidemment), et une association entre les utilisateurs et les traitements, et les utilisateurs et les paramètres (pour une table de paramètres).Association à plusieurs niveaux dans Rails?
Mais la partie délicate ici est que le client doit aussi être associé à la table des traitements, car ce sont eux qui ont les traitements sur leur dossier. L'utilisateur est simplement celui qui administre tout ce qui précède. Et nous avons aussi des patients qui sont associés à des clients, il faudra donc plusieurs niveaux. Les propriétaires ont donc des clients qui ont aussi des patients. Et les patients ont des traitements comme les clients et les propriétaires.
Cela me semble vraiment complexe et j'ai du mal à obtenir autre chose que du travail. J'utilise la configuration de base de la relation dans Rails (je sais très peu de choses sur les rails). J'utilise @ treatment.user = current_user sur la méthode create, puis j'associe simplement les tables nécessaires avec un user_id. Je mets un client_id sur la table de traitement, mais ça ne marchera pas, n'est-ce pas?
Ai-je besoin d'une association polymorphe (je ne suis pas sûr de ce que c'est)? OU ai-je besoin de tables séparées pour effectuer toutes ces correspondances?
Merci.
code:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation,
:remember_me, :role
validates :email, presence: true
has_many :clients
has_many :settings
has_many :treatments
ROLES = %w[admin receptionist practitioner]
def role_symbols
[role.to_sym]
end
def to_s
email
end
end
pourriez-vous fournir plus d'informations sur l'association entre tous les modèles? Un utilisateur (celui qui introduit des données dans le système?) A de nombreux clients (médecins?) Et de nombreux traitements (pourquoi?). Chaque client a beaucoup de patients, chaque patient a un (?) Client? Comment les propriétaires prennent-ils en compte? J'ai essayé de dessiner un diagramme de classe UML, mais je n'ai pas pu. Pourriez-vous en fournir un? – yas4891
Certainement besoin de fournir le modèle d'objet. Il n'y a aucun moyen de faire les choses correctement sans un. – vpsz
En outre, pourquoi les utilisateurs ont-ils besoin d'une association aux traitements s'ils ne sont que ceux qui exécutent le système? – vpsz