Ouverture de session

Commentaires récents

Syndication
Flux XML

time_select

time_select
Posté par moktin le Mercredi, 24 Octobre, 2007 - 12:51pm. Trucs & Astuces

Bonjour,
J'ai tjrs un peu de mal a utiliser les select_* et *_select de rails... Du fait du manque d'example expliquant comment recuperer les donnees dans le controller.
Aujourd'hui, le probleme que j'ai c'est avec time_select

Ok, tout se passe bien du cote de ma vue, tout s'affiche comme il faut, maintenant, du cote de mon controller, j'aimerais savoir ce que je recupere.

J'arrive pas a recuperer dans mon controller la donnee params[:post][:heure] (j'ai un objet nul).
Auriez vous une idee ?



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
time select et params.inspect
Auteur: 
thomasgalibert
Date: 
Jeu, 25/10/2007 - 10:05

Salut,

D'une manière générale, dans rails, surtout quand tu débutes, tu dois insérer dans ta vue un :
params.inspect

Il va te donner exactement le hash du params transmis. Tu pourras donc savoir comment l'utiliser dans le controlleur. Essaie avec time_select et tu verras qu'il transmet en fait un tableau en séparant les heures, les minutes et les secondes.

Bon courage,

Thomas GALIBERT.


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
D'abord, merci (je
Auteur: 
moktin
Date: 
Jeu, 25/10/2007 - 15:28

D'abord, merci (je l'utilisais)
Cependant pour un truque comme date_select par exemple, meme si les params sont un truque du genre params[:post]['date(3i)'], etc on retrouve dans le controller un params[:post][:date] qui est un objet Date.
Je m'attendais avec time_select a retrouver un datetime, ce qui n'est pas le cas, je suis oblige de passer par :
params[:post]['heure(4i)'] pour avoir l'heure et params[:post]['heure(5i)'] pour avoir les minutes.
Dans ma vue j'ai exactement ca :
time_select :post, :heure
Bref :
Peut-on recuperer comme il me semblait logique un objet datetime ?

Merci d'avance.

--
kcehc


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
time_select
Auteur: 
thomasgalibert
Date: 
Ven, 26/10/2007 - 09:22

Bonjour,

Je comprends un peu mieux ce que tu veux dire, mais tu parles d'avoir un objet datetime avec un time_select ? Utilise datetime_select pour avoir un objet datetime.

J'espère que cela répond à ta question, sinon avec un select_time dans un formulaire, tu accèdes par exemple aux minutes avec params[:date][:minute], ...
(et pas time_select, la différence est que ce dernier fonctionne avec active record, mais si tu veux seulement récupérer un valeur dans un formulaire, select_time peut être mieux adapté)

Thomas GALIBERT.


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
select_time
Auteur: 
moktin
Date: 
Sam, 27/10/2007 - 12:32

J'ai utilise select_time... mais encore une fois j'ai eu un probleme d'utilisation il est apparement impossible de l'attribuer a un ensemble de formulaire.
Par exemple recuperer la valeur de l'heure dans params[:post][:minute]

--
kcehc


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
re select_time
Auteur: 
thomasgalibert
Date: 
Dim, 28/10/2007 - 17:56

Ok, je vais te donner un exemple :
si dans ton formulaire, tu as :

select_time Time.now

Dans ton controller tu vas récupérer params[:date] pour l'heure et les minutes sous la forme (minuteXXhourXX). Et tu vas donc accéder individuellement aux minutes avec params[:date][:minute] et aux heures avec params[:date][:hour]. Après, tout dépend de ce que tu veux faire dans ta méthode.

Pour :

time_select :inscription, :date

Dans ton controller tu vas récupérer de la même manière avec params[:inscription] une chaine du type :

date(1i)2007date(2i)10date(3i)28date(4i)16date(5i)48 (l'heure et la date à laquelle je t'écris ce commentaire ;-))

et avec params[:inscription]['date(1i)'] etc, tu accèdes aux différentes valeurs.

J'espère que c'est plus clair.

Thomas GALIBERT


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
time_select
Auteur: 
moktin
Date: 
Lun, 29/10/2007 - 13:14

C'est bien claire, merci !
Meme si je trouve pas ca forcement "intuitif" et logique, ca roule.

--
kcehc


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
37%
Mac OS X
29%
Windows
32%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 356

Qui est en ligne
Il y a actuellement 1 utilisateur et 101 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]