Rails 3 débutants ici .... Je cherche à construire une application qui limite les données visibles d'un utilisateur à leur entreprise, qui est basée sur le domaine de leur e-mail. Très semblable à Yammer ou au camp de base. Je suis actuellement à l'aide pour concevoir auth ...Rails 3, after_create dans user.rb pour créer une association d'instance?
Je voudrais une table de l'utilisateur puis un tableau UserInstance ... La table UserInstance ressemblerait à ceci:
ID | domain 1 | yahoo.com 2 | github.com 3 | abc.com
Je voudrais que la chaque enregistrement dans la table utilisateur pour avoir un ID d'instance qui a un ID de la table UserInstance. Lors de l'enregistrement, UserInstance est trouvé ou affecté (unique) .... Ensuite, tous les enregistrements de la base de données auront un identificateur d'instance. Maintenant que tous les utilisateurs sont assignés à un instanceID ... Je voudrais que tout ce que l'utilisateur connecté voit dans le site soit uniquement pour son instance ID, donc les informations de la société sont silo'd.
Question: 1. Comment modifier concevoir pour soutenir la table UserInstance, à créer ou affecté, puis affecté instanceID sur l'enregistrement
Jusqu'à présent, je suis ici, /app/models/user.rb
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me
after_create :assign_user_to_instance
def assign_user_to_instance
logger.debug "Called after the account was created"
end
end
Ce que je voudrais voir se produire dans assign_user_to_instance est comme suit:
def assign_user_to_instance
Step 1, extract the user's domain from the email address they just registered with
Step 2, does this domain from s1 exist in the UserInstance Table (domain)?
Step 2b, if not create it and grab the UserInstance.ID
Step 2c, if it does, grab the already available UserInstanceID
Step 3, assign the UserInstanceID to the user's record in the user table
end
Toute aide mise en œuvre du code pseudo Abov Nous serions grandement appréciés.
Merci!
C'est agréable! Je vous remercie. Des suggestions sur la façon de mettre à jour ma table utilisateur de concevoir? Dois-je ajouter une migration qui ajoute une colonne instance_id ou existe-t-il une approche belongs_to type qui effectue automatiquement cette relation? – AnApprentice
Voir ma mise à jour – jigfox
Merci, c'est génial – AnApprentice