Bonjour, j'ai rechercher sur le net un plugin qui permet de journaliser des objets (ca veut dire quoi ca hein ?) sans succès...


ma définition de journaliser :
une table (user_id,object_id,type) ou l'on stock les objets "déjà vu" par l'utilisateur, le but étant d'indiquer à l'écran si l'utilisateur a déjà visionner tel image (pour une gallerie d'image), tel sujet ou post (forum), etc... il faudrais deux méthodes addjournal(obj) et isinjournal(obj). C'est assez clair ?

Voila, si vous connaissez un plugin ca m'interessais fortement et sinon j'ai tenter de produire du code mais malheureusement ca n'a pas l'air de fonctionner comme je veut :/

model user has_many :journals
model journal :belongs_to :user


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
current_user.journals << Journal.create(:type=>@object.class,:user_id => current_user.id, :object_id => @object.id )
Ce code insere bien un enregistrement dans la table mais je constate que la colonne type est toujours NULL et en plus à chaque chargement de ma page je duplique mon enregistrement. si je rajoute une un peu de code pour faire éviter la duplication comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
current_user.journals << Journal.create(:type=>@object.class,:user_id => current_user.id, :object_id => @object.id ) if current_user.journals.include?(Journal.new(:type=>@object.class,:user_id => current_user.id, :object_id => @object.id )) == false
Ca n'empeche rien...il me semble que je pourrais tester avec un find_by mais je doute qu'on puisse faire un double and (mais sinon je pourrais utiliser un find_by_sql?) Bref, tout ca pour dire que ca ne marche pas trop comme je le pense et que donc je pense que un peu d'aide serais utile...