2010-09-25 6 views
1

Je souhaite disposer d'une table d'utilisateurs. Ces utilisateurs doivent avoir des contacts n et n messages ..Méthode correcte pour créer une association DataMapper

Mon code est:

... 
class User 
    include DataMapper::Resource 

    property :id, Serial, :key => true 
    property :nickname, String 

    has n, :contacts 
    has n, :messages 
end 

class Contact 
    include DataMapper::Resource 

    belongs_to :user 

    property :id, Serial, :key => true 
    property :authgiven, String 

    has 1, :user  
end 

class Message 
    include DataMapper::Resource 

    belongs_to :user 

    property :id, Serial, :key => true 
    property :data, String 
end 

#apply models (validation etc.) 
DataMapper.finalize 
... 

Il n'y a pas d'erreur d'initialisation DataMapper, mais lorsque je tente de créer un nouvel utilisateur ou autre chose, toujours enregistrer retourne false. .. Quelqu'un peut s'il vous plaît signaler ce qui ne va pas?

Je suis tout à fait nouveau pour DataMapper, il a toujours travaillé pour moi avec des tables simples sans relations, donc je crois qu'il doit faire avec la façon dont je déclarai la relation 1: n ...

Répondre

1

Hey vous devriez supprimer qui a 1,: ligne d'utilisateur du modèle de contact et vous devriez être bon.

+0

Eh bien ok je l'ai trouvé déjà ... Je l'ai remplacé par un Integer qui devrait stocker l'id ... Il serait plus élégant comme une association, bien que ... – apirogov

Questions connexes