J'ai de nombreuses options select
dans mes formulaires avec une collection d'options possibles.Rails - où stocker les collections
Par exemple:
title_options = %w[Mr Mrs Miss Ms Dr]
À mon avis, je vais rendre le select
(en utilisant formtastic):
<%= f.input :title, :as => :select, :collection => title_options %>
Actuellement, cependant, je stocke les options de titre dans un fichier helper
avec de nombreuses méthodes pour chaque select
:
module SelectHelper
def days_options
...
end
def title_options
...
end
..
end
Puis, dans un modèle de validation, je peux soit étendre cette aide:
class user < ActiveRecord::Base
extend SelectHelper
validates :title, :inclusion => {:in => title_options}
end
ou dupliquer les options:
class user < ActiveRecord::Base
validates :title, :inclusion => {:in = %w[Mr Mrs Miss Ms Dr]}
end
Y at-il une meilleure façon de stocker la collection, par exemple, en tant que méthode dans le modèle directement? Je ne pense pas qu'il soit nécessaire de stocker ces options dans une base de données car elles ne devraient jamais changer.
Cela semble être la bonne façon d'aller – Harry
Il y a une petite faute de frappe. Ce devrait être '{: in => TITLES}' bien sûr. – Tintin81