J'utilise un assistant de rails qui crée 3 listes de sélection dans le but de permettre à un utilisateur de sélectionner une date. Si j'attribue un nom à l'assistant, il définit les 3 listes de sélection pour avoir ce nom, puis seul le dernier passe (il écrase le précédent). Ce que j'ai besoin de savoir est: Quelle est la meilleure façon de prendre une série de 3 listes de sélection (jour, mois, année), et les combiner pour créer un objet date et l'enregistrer dans ma base de données?Comment gérer les objets de date dans les formulaires ruby on rails?
Voici mon champ Date:
<%= select_date Date.today, { :order => [:month, :day, :year], :start_year => Date.today.year, :end_year => Date.today.year + 3 } %>
et voici les paramètres passés à mon contrôleur (a craché de mon journal de dev)
Parameters: {"date"=>{"month"=>"4", "day"=>"9", "year"=>"2009"},
"action"=>"create", "controller"=>"shows",
"show"=>{"headline"=>"for example, \"Parking lot is next to the bookstore on Main Street\"", "venue_id"=>{"venue_id"=>""}, "cents"=>"00", "dollars"=>"00"},
"user_id"=>"3", "load_in"=>"-2", "show_time"=>"-2", "query"=>"Type venue name & location here...", "doors"=>"-2"}
Comme vous pouvez le voir, la date est passée . Idéalement, je voudrais que la date transmise comme objet de date acceptable à mon contrôleur. En outre, je voudrais qu'il soit passé dans le hachage "show" car il s'agit de montrer les données. Est-ce possible avec quelques modifications de rails simples? Ou dois-je écrire quelques JS (... un peu sales pour cette solution à mon avis)?