Forum: Rails France Problème de modélisation

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Emmanuel B. (Guest)
on 2008-11-12 00:56
(Received via mailing list)
Salut à tous,

Je suis en train de coder une petite appli qui permet aux membres d'un
équipe dev de saisir leurs jours de présence, ainsi que leurs prévisions
de
présence.
Il doit certainement exister des choses qui font ça très bien, mais en
fait
je veux que ça soit très simple et surtout c'est pour me faire la main
en
rails :)

Bref, je ne sais pas très bien comment modéliser leur présence et leurs
prévisions.
J'aurais bien vu un modèle Attendance avec les champs suivant en base :
- user_id
- date
- type (effective / expected)
- am (boolean)
- pm (boolean)

Je ne sais pas trop comment gérer le type ... un integer serait plus
performant mais pas très causant quand on regarde en base, et une string
c'est l'inverse :)

De plus j'ai le sentiment qu'on peut faire mieux. Je ne sais pas trop si
les
associations polymorphiques ne seraient pas pertinentes ni comment
procéder
dans ce cas.

Auriez vous des idées ?

Merci
Emmanuel
Cyril M. (Guest)
on 2008-11-12 01:08
(Received via mailing list)
Emmanuel B. wrote:
> leurs prévisions.
>
> De plus j'ai le sentiment qu'on peut faire mieux. Je ne sais pas trop
> si les associations polymorphiques ne seraient pas pertinentes ni
> comment procéder dans ce cas.
>
> Auriez vous des idées ?
Pour gérer ce type, j'utiliserais du "Single Table Inheritance" (STI
pour les intimes). Ca te permettra un couche d'abstraction de ton type.
Dans le sens ou tu auras le Effective et le model Expected avec les
méthodes communes dans ton model Attendance. et les méthodes spécifiques
dans les models correspondant. Le tout dans la même table de BDD.

--
Cyril M.
http://blog.shingara.fr
Gaspard B. (Guest)
on 2008-11-12 09:21
(Received via mailing list)
# script/generate scaffold Attendance user_id:integer date:date
am:boolean pm:boolean

# puis un fichier app/models/effective_attendance.rb
class EffectiveAttendance < Attendance
end

# et app/models/expected_attendance.rb
class ExpectedAttendance < Attendance
end


2008/11/11 Emmanuel B. <removed_email_address@domain.invalid>:
Emmanuel B. (Guest)
on 2008-11-12 21:39
(Received via mailing list)
Ok merci à tous les deux :)

Emmanuel

Le 12 novembre 2008 08:20, Gaspard B. <removed_email_address@domain.invalid> a 
écrit :
This topic is locked and can not be replied to.