PDA

Visualizza la versione completa : [Rails] pluralizzazione


CozzaAmara
12-04-2009, 19:24
Ciao a tutti,

mi sapreste indicare come disabilitare, o meglio, gestire manualmente la pluralizzazione in Rails?

Ho già aggiunto

"ActiveRecord::Base.pluralize_table_names = false" in "environment.rb"

ma come posso dire quando creo un Model prima e successivamente un Controller+Views di creare una tabella "Notizie" collegata ad un Controller "Notizia"?

Idem per "Prodotti" => "Prodotto" ecc.

Invece che farmi generare automaticamente "Notizies" :nillio:

E' possibile farlo anche tramite Scaffold? Se si come?

Tnx in advance.

weppos
13-04-2009, 14:28
Innanzi tutto non usare nomi italiani per i controller o viste.
Devi pensare che stai usando un framework internazionale che si basa su convenzioni: convention over configurations è uno dei due motti di Rails.

Quindi parti dal presupposto che dovrai sviluppare in inglese, eventualmente offrirai un front-end localizzato.

Non so rispondere alla tua domanda, non mi è mai venuto in mente di usare termini in Italiano in Rails.
Quello che posso dirti è che in config/initializers troverai un file chiamato inflections dove puoi inserire le regole grammaticali per i plurali.

CozzaAmara
13-04-2009, 15:59
In primis grazie per la risposta.

Ma ritieni che sia una convenienza quella di usare solo terminologia inglese oppure un requisito per evitare problemi con il framework? Oppure entrambi?

Consigli anche di usare sempre l'inglese anche per i nomi dei campi a DB?

es:
Products -> name, price, description ...

weppos
13-04-2009, 16:58
Convenienza e, per certi versi, esigenza.
Sì, usa l'inglese anche per il nome dei campi.

weppos
13-04-2009, 16:59
Ti faccio un altro esempio, ancora più efficace.
Molti plugin si basano su alcune convenzioni comuni in inglese.

Ad esempio, c'è un plugin che se trova nel modello user un campo last_logged_at automaticamente lo inizializza con il valore dell'ultimo login dell'utente.
Come vedi, sono convenzioni inglesi. Finiresti per avere tabelle e campi metà in inglese e metà in italiano, senza più capirci nulla.

CozzaAmara
13-04-2009, 17:18
Grazie del consiglio :zizi:

Loading