J'essaie de comprendre les bases de l'authentification dans Rails. Pour commencer, j'ai utilisé le générateur nifty_authentication de Ryan Bates. Il m'aide à apprendre les options de base pour les connexions utilisateur, etc.Liste de cadeaux d'authentification Rails pour chaque utilisateur?
J'ai une application simple avec une table de personnes et de cadeaux dans la base de données. L'idée est, chaque utilisateur crée une liste de personnes et ensuite attribué des cadeaux possibles à chacune de ces personnes.
D'un point de vue structurel:
person belongs to user
gift belongs to person
J'ai donc les modèles mis en place comme suit.
modèle personne
class Person < ActiveRecord::Base
has_many :gifts
end
modèle cadeau
class Gift < ActiveRecord::Base
belongs_to :person
end
modèle utilisateur
currently doesn't contain any belongs_to has_many etc.
Comment puis-je aller au sujet s'assurer que chaque utilisateur a sa propre liste de personnes. Ainsi, un utilisateur ne peut pas voir une autre liste d'utilisateurs ou de cadeaux. Est-ce que j'ajouterais simplement ce qui suit au modèle de l'utilisateur?
has_many :people
et le modèle de personne suivant?
belongs_to :user
Cela fonctionnerait-il ou est-ce que quelque chose me manque?
Merci,
Danny
MISE À JOUR: L'application jusqu'à présent est sur Heroku et Github.
http://github.com/dannyweb/GiftApp
OK, merci. J'ai fait les changements que j'ai suggérés et ajouté une colonne dans la table des personnes appelée user_id. Tout fonctionne, cependant, tout le monde peut voir tous les gens. C'est toujours une grande liste communale. – dannymcc
Lors de l'affichage de la liste des personnes, vous aurez besoin de quelque chose comme 'current_user.people' au lieu de' Person.all'. Je ne connais pas le générateur nifty_authentication, mais il devrait fournir un objet pour l'utilisateur connecté. – Mischa
Dans les vues ou le contrôleur de personnes? – dannymcc