IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Faire renvoyer une valeur 'true' par une methode ?


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Faire renvoyer une valeur 'true' par une methode ?
    Salut tout le monde,

    Je travaille sur un projet de reservation de studios.

    Lorsque je cree une nouvelle reservation, je veux d'abord verifier que le studio est libre...

    Lorsque mes controles reussissent, la valeur retournee par mes methodes book_studio et check_dispo est 'nil' , donc consideree comme fausse par mon if

    Comment faire pour que ces methodes renvoient 'true' en cas de succes ?

    J'ai essaye d'ajouter une commande return, puts, etc.... mais ca renvoie 'nil'...

    Merci d'avance,

    Pat

    mon code ressemble a ca :

    dans mon controller reservation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def create
        @reservation = Reservation.new(params[:reservation])
        if @reservation.book_studio
          if @reservation.save
            flash[:notice] = 'Reservation was successfully created.'
            redirect_to :action => 'list'
          else
            render :action => 'new'
          end
        else
          flash[:notice] = 'Probleme de booking.'
          render :action => 'new'
        end
      end
    dans mon model reservation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
      def book_studio
        self.studio_bookings = []
        date = self.start_date
        time = self.time
        time_duration = self.time_duration
        week_duration = self.week_duration
        if self.studio.check_dispo(date, time, time_duration, week_duration)
        i = 0
        while i < week_duration
          studio_booking = StudioBooking.new(:studio_id =>self.studio_id, :start_date => date, :time => time, :bgColorCode => '#FF4DFC', :time_duration => time_duration, :description => 'Reservation')
          self.studio_bookings << studio_booking
          i += 1
          date = date + 7
        end
        else
          errors.add(:start_date, "is already booked for the studio " + self.studio.name)
          return false
        end
      end
    enfin, dans mon model studio :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
      def check_dispo(date, time, time_duration, week_duration)
        i = 0
        end_time = time + time_duration.strftime('%H').to_i*3600 + time_duration.strftime('%M').to_i*60
        while i < week_duration
          if studio_bookings = StudioBooking.find(:all, :conditions => ["start_date = ?", date])
            for studio_booking in studio_bookings
              studio_booking_end_time = studio_booking.time + studio_booking.time_duration.strftime('%H').to_i*3600 + studio_booking.time_duration.strftime('%M').to_i*60
              unless time >= studio_booking_end_time || end_time <= studio_booking.time
                return false
              end
            end
          end
          i += 1
          date = date + 7
        end
      end

  2. #2
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    pourquoi ne pas utiliser

    ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    C'est ce que j'avais fait et ca ne marchait pas... jusqu'a ce que je decide de rebooter le serveur, et qu'il actualise mes models !

    Je pensais qu'en mode development, on n'avait pas besoin de rebooter pour ca...

  4. #4
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    parfois j'ai ce problème avec le mode dev. Il faut rebooter pour que les changements soient pris en compte

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  2. Réponses: 3
    Dernier message: 16/01/2008, 07h12
  3. Réponses: 2
    Dernier message: 21/12/2006, 00h16
  4. Envoyer une valeur génerée par une fonction javascript
    Par karimphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/12/2006, 18h44
  5. Réponses: 7
    Dernier message: 17/10/2006, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo