Séparé de la date et de l'heure de champs de formulaire dans les Rails

J'ai un ActiveRecord modèle Eventavec une colonne datetime starts_at. Je voudrais présenter une forme, où la date et l'heure pour starts_at sont choisis séparément (p. ex. "23-10-2010" de la date et de "18:00" pour l'instant). Ces champs doivent être soutenus par la seule colonne starts_at, et les validations doivent de préférence être contre starts_at, trop.

Je peux bien sûr muck autour avec les attributs virtuels et des crochets, mais je voudrais une solution plus élégante. J'ai expérimenté avec les deux composed_of (rdoc), et l'attribut-décorateur (phare de discussion, github) sans succès.

Ci-dessous est une ébauche de ce que je voudrais..

class Event < ActiveRecord::Base
  validates_presence_of :start_date
end

# View
# On submission this should set start_date.
form_for @event do |f|
  f.text_field :starts_at_date         # date-part of start_date
  f.text_field :starts_at_time_of_day  # time-of-day-part of start_date
  f.submit
end

Toute aide appréciée.

  • J'ai couru dans quelques temps maintenant, mais je n'ai pas encore trouvé une belle solution. La raison pour le partage de l'est si je peux utiliser un datepicker et la time_select séparément.
InformationsquelleAutor pgericson | 2010-09-09