2009-10-30 7 views
13

In un'applicazione che sto costruendo, sto memorizzando un file XML nel mio database usando l'associazione acts_as_tree. Vorrei nominare la classe XMLElement ma questo genera binari in quanto la maiuscola non è standard. Sta cercando XMLElement dal nome file xml_element.rb. Ho provato a cambiare il nome del file in x_m_l_element.rb per cercare di indurlo a pensare che "XML" fosse davvero due parole, ma anche questo non funzionava. Dovrei semplicemente succhiarlo e usare il nome XmlElement invece del più ideale XMLElement o c'è un modo migliore per risolvere questo problema?Rotazioni non ortodosse dei modelli con abbreviazioni

risposta

10

Convenzione sulla configurazione uomo. Succhialo.

+0

Ho pensato che fosse la soluzione più semplice, ma non sapevo se esistesse un modo per configurarlo, ad esempio, Rails ti consente di configurare il nome della tua tabella di database se hai un nome che ti piace di più, quindi pensato che potrebbe esserci un modo per configurare anche questo. Lo prendo non c'è? –

+0

Controlla la risposta qui sotto, puoi usare gli inflectors di ActiveSupport per questo –

2

Sì, è necessario utilizzare XmlElement.

Non solo per questo esempio, ma per ogni aspetto di un'applicazione, non si pagherà mai per deviare le convenzioni. C'è così tanta 'magia' che va sotto il cappuccio di Rails che non ne vale la pena.

25

Aggiungere quanto segue a config/initializers/inflections.rb.

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.acronym 'XML' 
end 

Ora esecuzione $ rails g model XMLElement… creerà una classe denominata XMLElement in un file chiamato xml_element.rb e una tabella associata xml_elements.

Problemi correlati