[Résolu][Rails] Modifier le form helper - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu][Rails] Modifier le form helper (/showthread.php?tid=6552) |
RE: [Résolu][Rails] Modifier le form helper - Holy - 18-01-2013 (17-01-2013, 10:59 PM)Sephi-Chan a écrit :En fait, mon(17-01-2013, 10:19 PM)Holy a écrit : t('nations') renvoie à un tableau et non une chaine. Voilà l'extrait à quoi correspond cette traduction :
Je fais la même chose que toi en utilisant directement le fichier d'internationalisation plutôt que ma classe Nation en fait. Ma solution est moins logique surtout si je décide de changer la façon dont je récupère mes noms plus tard (depuis une bdd).(17-01-2013, 10:59 PM)Sephi-Chan a écrit : Tu peux faire quelque chose comme :La fonction anonyme renvoie un objet. Mais elle l'hérite d'où ? ^^ RE: [Résolu][Rails] Modifier le form helper - Sephi-Chan - 18-01-2013 Effectivement je te déconseille de te fier à la structure de ton système d'i18n, ça ne paraît pas très robuste. L'expression lambda utilisée par le validateur est appelée (par Active Record) avec l'objet comme paramètre. C'est documenté comme tel dans l'API. Le but est justement de pouvoir fournir un enumerable plus dynamique qu'un simple tableau statique. RE: [Résolu][Rails] Modifier le form helper - Holy - 18-01-2013 J'ai encore un ultime soucis concernant la validation du champ race . Depuis que j'ai modifié la validation en utilisant une methode anonyme, j'ai droit à une erreur lorsque je soumets mon formulaire :Code : undefined method `include?' for nil:NilClass Elle renvoie à la ligne où je sauvegarde l'utilisateur dans mon contrôleur. Dés que je retire la validation sur le champ race , ça passe. Je comprends pas trop l'erreur pour le coup ^^Autre chose, comment t'as fait pour retrouver cette info concernant l'expression lambda dans l'API, parce que j'ai un peu du mal à m'y retrouver dans la doc Rails >_< RE: [Résolu][Rails] Modifier le form helper - Sephi-Chan - 18-01-2013 Pour trouver l'info, je suis allé voir la documentation de validates , puis sur validates_inclusion_of .Ton erreur semble être que Race::NAMES[hero.race] retourne nil . Reste à savoir pourquoi.Pour en savoir plus, essaye d'en savoir plus sur l'état de chaque chose, avec un petit :
RE: [Résolu][Rails] Modifier le form helper - Holy - 18-01-2013 Au temps pour moi, je devais avoir la tête ailleurs, il s'agit de hero.nation et pas hero.race qui devait être renseigné comme clé du hash Race::NAMES. A force de trop tricoter Je ne saurais trop te remercier pour ton aide, je me suis embarqué dans de la personnalisation un peu complexe, mais ça me permet de découvrir Rails "en dur". Je vais essayer de me référer un maximum à la documentation désormais, mais c'est pas encore simple pour moi de m'y retrouver On peut voir le résultat ici : http://terresdecy.herokuapp.com/register |