Bonjour,
J'ai une table de base de données qui contient un grand nombre de
champs, parmi lesquels du contenu dans plusieurs langues : DESC_EN,
DESC_FR, DESC_DE, etc. Je souhaiterais sélectionner dynamiquement un
seul de ces champs, via le "AS" de SQL, pointant vers le même champ
dynamique : DESCRIPTION_I18N.
Mon code Rails ressemble à ceci :
### MODELE ###
def description_i18n
# Le vrai champ est sélectionné dynamiquement :
self[:desc_fr]
end
### CONTROLEUR ###
@my_data = MyTable.find(
:all,
:select => "ID, CODE, DESC_FR AS DESCRIPTION_I18N",
:conditions => conditions_list)
@my_data_i18n = @my_data.to_xml :methods => [:description_i18n]
render :xml => @my_data_i18n
##########################
Malheureusement, les données pour le champ DESCRIPTION_I18N ne sont pas
retournées par la fonction, sauf si je supprime l'option :select. Or,
j'en ai besoin pour restreindre la quantité de données qui peut être
énorme.
Quelqu'un a-t-il/elle une solution à me proposer ?
Merci,
Christophe.
on 29.02.2008 12:01
on 29.02.2008 15:08
Bonjour à tous, Pour ceux d'entre vous qui attendaient une documentation en français à propos de Rails 2.0 pour passer à la nouvelle version du framework, vous trouverez la traduction française du mini-book peepcode à propos de Rails 2 sur http://peepcode.com/products/rails-2-pdf-fr . Vous pouvez vous le procurer pour la modique somme de 9$ (~6 €). Tous les commentaires, suggestions et corrections sont les bienvenus. :) Et pour l'actualité Ruby on Rails en français, tout au long de l'année, n'oubliez pas www.frailers.net ! Bonne journée, Jean-Baptiste --- Web 2.0 & Ruby on Rails consultant www.belighted.com www.frailers.net
on 29.02.2008 16:10
Mon problème est résolu : il ne fallait pas créer la variable DESCRIPTION_I18N dans la requête SQL, puisqu'elle est créée dans le to_xml() qui s'attend par contre à trouver DESC_FR dans le résultat de la requête. J'ai donc supprimé "AS DESCRIPTION_I18N" et ça marche ! Merci Fred du forum "Ruby on Rails". Christophe.