Ok, ça me semble plus logique. Juste une chose, j'utilise ce tableau également pour créer un champ select dans ma vue. Avec simple_form, j'utilise l'option :collection pour renseigner mon tableau.
Du coup je sais pas trop comment faire pour renseigner un tableau complet ^^ J'ai trouvé une solution, mais j'suis pas sûr que ça soit top ^^
Autre chose, j'aimerais mettre en place une fonction ajax qui change le contenu d'un select en fonction de ce champ (les races diffèrent selon le choix de la race). Pour ça, ça devrait aller, mais je ne sais pas trop comment faire en sorte que la validation de mon champ prenne en compte cette condition ^^
En gros, j'ai ceci dans ma classe Hero :
Et ma classe Race :
Du coup je sais pas trop comment faire pour renseigner un tableau complet ^^ J'ai trouvé une solution, mais j'suis pas sûr que ça soit top ^^
= h.input :nation, :collection => t('nations').map {|k, v| [v, k]}
Autre chose, j'aimerais mettre en place une fonction ajax qui change le contenu d'un select en fonction de ce champ (les races diffèrent selon le choix de la race). Pour ça, ça devrait aller, mais je ne sais pas trop comment faire en sorte que la validation de mon champ prenne en compte cette condition ^^
En gros, j'ai ceci dans ma classe Hero :
validates :nation, :presence => true,
:inclusion => { :in => Nation::NAMES }
validates :race, :presence => true,
:inclusion => { :in => Race::NAMES .... ? }
Et ma classe Race :
class Race
NAMES = { 'klum' => %w( dwarf, human ), 'ulysk' => %w( elf, dwarf, human ) }
end