Bonjour,
J'utilise date select mais je n'arrive pas a récupérer les données saisies, est ce que quelqu'un aurait un exemple ?
Merci
Bonjour,
J'utilise date select mais je n'arrive pas a récupérer les données saisies, est ce que quelqu'un aurait un exemple ?
Merci
Salut,
Voici un exemple qui devrait fonctionner :
Code Migration : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 def self.up create_table :offres do |t| t.column :date, :date end end
Code Vue : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <% form_for(:offre, :url => offres_path) do |f| %> <div> <label for="offre_date">Date</label> <%= f.date_select :date %> </div> <p> <%= submit_tag "Sauver" %> </p> <% end %>
Code Controlleur (scaffold_resource tout bête) : 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 @offre = Offre.new(params[:offre]) respond_to do |format| if @offre.save flash[:notice] = 'Offre sauvegardée.' format.html { redirect_to offre_url(@offre) } format.xml { head :created, :location => offre_url(@offre) } else format.html { render :action => "new" } format.xml { render :xml => @offre.errors.to_xml } end end end
Il n'y a rien de particulier pour récuperer la valeur en principe
Il faut simplement que ta colonne soit bien de type "date" ou "datetime"
Toute la documentation Ruby on Rails : gotapi.com/rubyrails
Mes articles :
> HAML : langage de template pour Ruby on Rails
Je vais apporter quelques précisions :
J'ai un tableau de véhicule et je souhaite rechercher les véhicule mis en circulation à la date saisie :
J'ai donc mon date_select dans le formulaire :
date_select('vehicule','date_mec',:order=>[:day,:month,:year])
Ce qui me génère 3 liste de choix comme suit :
<select id="vehicule_date_mec_3i" name="vehicule[date_mec(3i)]">A partir de là, je veux récupérer dans mon contrôleur le champs.
<option value="1">1</option>
<option value="2">2</option>
...
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="vehicule_date_mec_2i" name="vehicule[date_mec(2i)]">
<option value="1">1</option>
<option value="2">2</option>
...
<option value="11">11</option>
<option value="12">12</option>
</select>
<select id="vehicule_date_mec_1i" name="vehicule[date_mec(1i)]">
<option value="2002">2002</option>
<option value="2003">2003</option>
...
<option value="2008">2008</option>
<option value="2009">2009</option>
</select>
@date_mec = params['vehicule']['date_debut']
Dans ma vue :
<%=@date_mec%>
Ne me renvoi rien alors qu'une date a été saisie.
Ton champ ne correspond pas à un modèle ?
Dans ce cas je pense que tu es obligé de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part @date_mec = Date.new(params['vehicule']['date_debut(1i)'], params['vehicule']['date_debut(2i)'], params['vehicule']['date_debut(3i)'])
Toute la documentation Ruby on Rails : gotapi.com/rubyrails
Mes articles :
> HAML : langage de template pour Ruby on Rails
En ajoutant une conversion des différents éléments en entier, ça passe.
Merci !!
Bonjour,
Je reviens vers vous afin d'avoir d'autres informations :
En effet, j'aimerai savoir si il existe un moyen rapide concernant la validation des dates saisies via date_select() ?
J'aimerai également pouvoir sélectionner une date par defaut pour mon date_select, est ce possible ?
Merci par avance !
Bonjour,
Valider les dates saisie ? Il n'est pas possible de saisir une date invalide avec date_select puisque tu la sélectionnes dans une liste préfabriquée.Envoyé par mikaelm
La date par défaut est celle correspondant à la valeur de ton champs date lorsque tu as appelé ton formulaire. Il suffit donc d'assigner la date par défaut à la variable appelée dans le formulaire.
Côme
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager