2012-11-06 14 views
6

Ho creato un modello anonimo con il comandoRuby on Rails: come controllare forma pluralizzata e singola di nomi

rails g model Anonymous section_id:integer aid:string fake:bool active:bool 

ma il nome della tabella nella migrazione è chiamata anonima

class CreateAnonymous < ActiveRecord::Migration 
    def change 
    create_table :anonymous do |t| 
     t.integer :section_id 
     t.string :aid 
     t.bool :fake 
     t.bool :active 

     t.timestamps 
    end 
    end 
end 

Ho ragione quella forma pluralizzata di Anonimo è anche Anomymous? (L'inglese non è la mia lingua madre). Come posso vedere quali nomi pluralizzati Rails dà ai miei modelli? Qualcosa come rake routes?

+0

Le altre risposte parlano di come funziona il plurale di Rails, quindi puoi vedere qual è il nome della tabella. Aggiungerò che in inglese "anonymous" è un aggettivo, non un sostantivo, e quindi normalmente non ha una forma plurale. Forse intendi qualcosa come AnonymousUser o AnonymousComment? – dpassage

risposta

17

È possibile farlo nella console di rotaie.

$ "anonymous".pluralize 
=> "anonymous" 

o un altro esempio in cui la parola al plurale è diversa.

$ "cookie".pluralize 
=> "cookies" 
1
pluralize(count, singular, plural = nil) public 

tentativi di plurale la parola singolare meno valore è 1. Se plurale viene fornito, verrà usato quello quando il contatore è> 1, altrimenti userà l'inflettore per determinare la forma plurale

Esempi:

pluralize(1, 'person') 
# => 1 person 

pluralize(2, 'person') 
# => 2 people 

pluralize(0, 'person') 
# => 0 people 

per voi

"anonymous".pluralize 
0

Vorrei semplicemente rinominare il modello. Salva te stesso il dolore e il debugging futuro ed evita questo potenziale mal di testa. Puoi usare "Anonymouse" con plurale "Anonymouses". Oppure pensa un nome più intelligente.