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 :

[DEBUTANT]radio_button fournit aucun résultat


Sujet :

Ruby on Rails

  1. #1
    Membre régulier Avatar de Blaede
    Profil pro
    Inscrit en
    Août 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 120
    Points : 82
    Points
    82
    Par défaut [DEBUTANT]radio_button fournit aucun résultat
    Hello !

    Bon j'ai un peu progressé dans mon projet (cf mes autres posts) mais j'ai
    encore quelques petits problèmes

    J'offre à l'utilisateur la possibilité de créer une nouvelle partie. Pour cela
    je lui demande d'entrer le nombre de joueurs, la durée de réflexion donnée
    pour jouer son tour et un mot de passe (pour jouer entre amis éventuellement).

    J'ai donc un formulaire permettant de fournir ces trois informations. Dans ce
    formulaire, les deux premières informations sont fournies sous forme de radio_button. Le problème c'est que lorsque l'utilisateur click sur le bouton de
    validation, il reçoit le message d'erreur suivant :

    2 errors prohibited this game from being saved

    There were problems with the following fields:

    * Players can't be blank
    * Timer can't be blank
    Les valeurs choisies ne sont donc pas transmises pour la sauvegarde et comme j'ai validates_presence_of :players et validates_presence_of :timer dans mon modèle, forcément ça plante

    Ci-dessous le code de la vue :

    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
    21
    22
    23
    24
    25
    26
    <%= error_messages_for :game %>
     
                <% form_for(@game) do |f| %>
                <p>
                <b>Number of players</b><br />
                <%= radio_button :f, :players, "2", :checked=>"checked" %> 2
                <%= radio_button :f, :players, "3" %> 3
                <%= radio_button :f, :players, "4" %> 4
                <%= radio_button :f, :players, "5" %> 5<br/>
                </p>
     
                <p>
                <b>Timer</b><br />
                <%= radio_button :f, :timer, "3", :checked=>"checked" %> 3 min
                <%= radio_button :f, :timer, "5" %> 5 min
                <%= radio_button :f, :timer, "10" %> 10 min
                <%= radio_button :f, :timer, "15" %> 15 min<br/>
                </p>            
     
                <p>
                <b>Password</b><br />
                <%= f.text_field :password %>
                </p>
     
                <p>
                <%= f.submit "Create" %>
    Une petite idée ?

    D'avance merci !
    Y a des jours, faut pas me chercher... et y a des jours tous les jours !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 92
    Points
    92
    Par défaut
    Salut,

    Je crois qu'il te manque quelque chose côté contrôleur pour alimenter ta base avec ces infos.
    Je n'ai jamais utilisé de radio_button, mais en testant les états de tes boutons tu devrais pouvoir affecter les bonnes valeurs aux attributs de ton objet avant le save non?

  3. #3
    Membre régulier Avatar de Blaede
    Profil pro
    Inscrit en
    Août 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 120
    Points : 82
    Points
    82
    Par défaut
    Ce que je ne comprends pas c'est que quand je fais le formulaire sous forme d'edit box, ça fonctionne, il envoie bien les valeurs saisies au controlleur !

    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
    <% form_for(@game) do |f| %>
                <p>
                <b>Number of players</b><br />
                <%= f.text_field :players %>
                </p>
     
                <p>
                <b>Timer</b><br />
                <%= f.text_field :timer %>
                </p>            
     
                <p>
                <b>Password</b><br />
                <%= f.text_field :password %>
                </p>                      
     
                <p>
                <%= f.submit "Create" %>
                </p>
    dans mon controlleur j'ai simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def create        
        @game = Game.new(params[:game]) 
        @game.save
    end
    Pourquoi ça fonctionne avec des text_field et pas avec des radio_button ?
    Y a des jours, faut pas me chercher... et y a des jours tous les jours !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 92
    Points
    92
    Par défaut
    Oui mais là c'est différent, tu as un groupe de radio boutons liés, et tu ne leur associe aucune valeur explicitement lorsque que tu clique sur l'un deux. Enfin, en tout cas je ne le vois pas dans ton code.
    Tu dois parcourir tous tes boutons et en fonction de leur état affecter une valeur à @game.player_number (avec le libellé exact de l'attribut). Attention, je crois que tu dois être en mesure d'identifier chaque bouton pour pouvoir faire ça. Essaies de trouver un exemple. Moi j'en ai pas désolé de pas être plus précis.

Discussions similaires

  1. [Debutant]Je ne vois apparaitre aucun résultat
    Par peuplier dans le forum PL/SQL
    Réponses: 1
    Dernier message: 27/01/2009, 11h38
  2. [MySQL] Savoir si la requête ne retourne aucun résultat
    Par mickado dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/04/2007, 09h37
  3. CreataTableDef: aucun résultat
    Par pifou25 dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2007, 15h49
  4. Réponses: 20
    Dernier message: 05/06/2006, 16h07
  5. PSQLException "Aucun résultat retourné par la requête&q
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/09/2005, 20h55

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