Bonjour à tous, Pour l'application que je développe, je tente d'utiliser un fichier YAML pour stocker les variables de configuration. De l'autre coté, j'ai un formulaire qui permet d'éditer ce fichier pour plus de facilité. Mon problème se situe au niveau de certaines valeurs. Les entiers sont stocké comme des chaînes de caractères, idem pour les valeurs booléennes. Exemples : Si je remplis les text_fields de mon formulaire comme suit : settings[number] = 5 settings[string] = Chaine de caractère settings[yesterday] = (Date.today-1) settings[boolean] = true Dans mon controlleur, je récupère ces valeurs et j'enregistre mon fichier : File.open("#{Rails.root}/config/settings.yml", 'w' ) do |out| out.write(params[:settings].to_yaml) end Résultat : number: "5" string: Chaine de caractère yesterday: (Date.today-1) boolean: "true" Le problème est que les booléens et les entiers sont stockés comme étant des chaînes de caractères, ce qui me pose quelques problèmes évidents quand je veux utiliser ces valeurs ailleurs. Quelqu'un pourrait-il m'aider à y voir plus clair? Merci d'avance. Cédric Bousmanne Freelance Ruby on Rails Webdeveloper http://cedricbousmanne.com 0498/685687 - 063/581005
on 2010-03-17 14:11

on 2010-03-17 14:29

Le 17/03/10 14:10, Bousmanne Cédric a écrit : > > File.open("#{Rails.root}/config/settings.yml", 'w' ) do |out| > Le problème est que les booléens et les entiers sont stockés comme étant > des chaînes de caractères, ce qui me pose quelques problèmes évidents > quand je veux utiliser ces valeurs ailleurs. > > Quelqu'un pourrait-il m'aider à y voir plus clair? > Tout élément transmis par params sont des String ce qui semble logique vu qu'il n'y a pas de Typage des paramètre dans la norme HTTP. Ce qu'il faut faire c'est transformer les données que tu veux dans le type que tu souhaites (#to_i, etc..) -- Cyril Mougel http://blog.shingara.fr