Vous n'avez pas besoin de les écrire vous-même si vous utilisez un modèle ActiveRecord. Les attributs multi-paramètres peuvent être soumis via des formulaires en pièces. À titre d'exemple voir comment la méthode datetime_select vous n'êtes pas trop friands d'œuvres:
http://apidock.com/rails/ActionView/Helpers/DateHelper/datetime_select
En interne les différents paramètres se soumis à l'ordre et le type d'informations afin qu'ils puissent être correctement codées. Vous pouvez créer cette fonctionnalité en nommant simplement vos champs de la même manière. Il n'est pas trop difficile de copier une méthode d'aide que vous aimez et de mettre la version ajustée dans votre module ApplicationHelper.
Les valeurs montrent ici comme paramètres quelque chose nommé le long des lignes de:
model_type[attribute(1i)]
model_type[attribute(2i)]
model_type[attribute(3i)]
Ceux-ci sont combinés dans l'ordre correct, converti au besoin, et soumis à un constructeur pour que les attributs type particulier, par exemple DateTime. Cela évite d'avoir à créer vos propres méthodes d'encapsuleur.
Dans tous les cas, la manière facile de créer des attributs est d'utiliser la méthode de attr_accessor, tels que:
class MyModel < ActiveRecord::Base
attr_accessor :some_date
end
Cela va créer les accesseurs et mutateurs appropriés.
Vous pouvez utiliser un déclencheur before_validation pour recombiner les valeurs en une seule passe ou écrire un wrapper autour de la méthode de récupération de date pour la réexécuter si nécessaire.
Quelques points valides là. – Cameron