sobota, 14 sierpnia 2010

Pierwszy model w ActiveRecord

Zdążyłem jedynie poczytać o Modelach w RoR, trochę o walidacji.
Postanowiłem napisać od razu model użytkownika, przy okazji utworzyć bazę i w niej pierwszą tabelę.

Kod modelu:
require 'digest/sha1'

class User < ActiveRecord::Base
      validates_presence_of :name
      validates_presence_of :sec_name
      validates_presence_of :nrdziennika
      validates_presence_of :is_admin
      validates_presence_of :pass
      validates_presence_of :email
      
      validates_format_of :email, :with => /^(?:(?:[\-+%=_'a-z0-9]+)(?:\.(?![\.@]))?)+@(?:[a-z0-9\-]+\.)+[a-z]+/,
       :message => "Invalid format"

      validates_confirmation_of :email
      validates_confirmation_of :pass
      validates_presence_of :email_confirmation
      validates_presence_of :pass_confirmation
      
      validates_numericality_of :nrtel
      validates_uniqueness_of :email
      
      before_save :salt_password
      
      protected
      def salt_password
             self.pass = Digest::SHA1.hexdigest(self.pass)
      end
end

Bardzo prosto się dodaje np. 'solenie hasła', troszkę przyjemniej niż w django.
Widać, że ActiveRecord to prekursor w swojej kategorii.

Brak komentarzy:

Prześlij komentarz