Problème de singulier/pluriel


#1

Bonjour,

J’ai un petit problème de nommage de modéle à cause des conventions
rails, et je suis totalement perdu la du coup.
J’ai un modèle que j’ai appelé “Affilie”, et au pluriel je l’ai appelé
“Affilies”…

Apparement ca met le bazar vu que je ne dois pas respecter une
convention de nommage,
est-ce que qqun pourrait m’éclairer sur ce qui ne va pas et surtout
comment le changer ?

Merci d’avance !


#2

Attention que, par défaut, les règles de pluralisation s’appliquent Ã
l’Anglais.

Plutôt que de te battre avec du français appauvri (les accents) et de
riquer
de faire croire à Rails qu’il voit de pluriels irréguliers je te suggère
d’utiliser carrément des identifiant Anglais :

Affiliate

ATTENTION : le nom de la table lui est au PLURIEL et en MINUSCULES,
“affiliates” (ou “affilies” si tu préfères), pareil pour toto.affilies
(cas de has_many :affilies)


IciMarché fédère l’e-commerce de proximité
http://icimarche.fr


#3

Merci pour la réponse.

pour être sur de bien comprendre,
tu me dis d’utiliser :
singulier : Affiliate
pluriel : Affiliates

Je n’ai aucun moyen de garder mon singulier “Affilie” ?
(c pour m’économiser du temps de ré-écriture de code)

merci.

On 23 oct, 14:16, “philippe lachaise” removed_email_address@domain.invalid


#4

guillaume a écrit :

Merci pour la réponse.

pour être sur de bien comprendre,
tu me dis d’utiliser :
singulier : Affiliate
pluriel : Affiliates

Je n’ai aucun moyen de garder mon singulier “Affilie” ?
(c pour m’économiser du temps de ré-écriture de code)

Pour sortir des conventions tu peux utiliser un set_table_name,
mais autant refactoriser tout de suite.


Martin C.
http://www.noremember.org | http://www.synbioz.com


#5

Affiliate == nom du MODELE

class < ActiveRecord::Base

…/…

end

affiliates == nom de la table MySQL

ATTENTION : Affiliate mais affiliates

2008/10/23 guillaume removed_email_address@domain.invalid

de faire croire à Rails qu’il voit de pluriels irréguliers je te suggère


IciMarché fédère l’e-commerce de proximité
http://icimarche.fr


#6

Ok je vais faire ca donc :slight_smile:
merci beaucoup !

On 23 oct, 14:23, “philippe lachaise” removed_email_address@domain.invalid


#7

mais autant refactoriser tout de suite.

Oui ! Si sors des conventions tu vas droit au devant d’ennuis (obligé de
gérer tes propres exeptions à la règles sans jamais oublier).


IciMarché fédère l’e-commerce de proximité
http://icimarche.fr


#8

guillaume wrote:

Bonjour,

J’ai un petit problème de nommage de modéle à cause des conventions
rails, et je suis totalement perdu la du coup.
J’ai un modèle que j’ai appelé “Affilie”, et au pluriel je l’ai appelé
“Affilies”…

Utilise Inflector pour mettre le cas en irregulier .


#9

Le 23 octobre 2008 14:27, philippe lachaise a écrit :

mais autant refactoriser tout de suite.

Oui ! Si sors des conventions tu vas droit au devant d’ennuis (obligé de
gérer tes propres exeptions à la règles sans jamais oublier).

Sans oublier la fatwah que DHH ne manquera pas de lancer sur lui.

– Jean-François.


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#10

Oops ! J’en ai oublié un bout :

class Affiliate < ActiveRecord::Base

…/…

end


IciMarché fédère l’e-commerce de proximité
http://icimarche.fr


#11

c’est bizarre car dans une console “Affilie”.pluralize donne bien
“Affilies”.

en tous cas, je te conseille aussi de passer à l’anglais, c’est ce que
je
fais à mon grand désespoir.

pas toujours évident de coder en anglais avec une interface en français,
disons que c’est une certaine gymnastique d’esprit (-:

gUI

Le 23 octobre 2008 14:09, guillaume removed_email_address@domain.invalid a
écrit :

est-ce que qqun pourrait m’éclairer sur ce qui ne va pas et surtout
comment le changer ?

Merci d’avance !


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#12

Bon finalement j’ai pris le courage de tout changer, je préfere pas
faire des cas particuliers…
:slight_smile:


#13

Le 23 octobre 2008 19:09, Guillaume B. a écrit :

c’est bizarre car dans une console “Affilie”.pluralize donne bien
“Affilies”.

Ce n’est pas le passage du singulier au pluriel qui pose problème,
mais celui du pluriel au singulier (parce que généralement les noms
en -y ont un pluriel en -ies).

en tous cas, je te conseille aussi de passer à l’anglais, c’est ce que je
fais à mon grand désespoir.

Bikoz you spike anglish like a vache madrilène ?

pas toujours évident de coder en anglais avec une interface
en français, disons que c’est une certaine gymnastique d’esprit (-:

Et comme les Français sont connus pour être nuls en gymnastique…

– Jean-François.


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#14

Ce n’est pas le passage du singulier au pluriel qui pose problème,
mais celui du pluriel au singulier (parce que généralement les noms
en -y ont un pluriel en -ies).

Ok !!! Donc reprenons.

C’est normal car dans une console “Affilies”.singularize donne “Affily”

Bikoz you spike anglish like a vache madrilène ?

Yes you are totally raïte !

(-:

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/