solo un teoria, non so come questo dovrebbe funzionare in real app:
creare models
nominato come ActiveRecord
convenzione richiede, ad esempio per la tabella aaa_bbb_ccc_ddd
si creerà un modello AaaBbb
e mappa questo modello per la vostra tabella:
class AaaBbb < ActiveRecord::Base
self.table_name = "aaa_bbb_ccc_ddd"
end
o un esempio più umano:
class AdminUser < ActiveRecord::Base
self.table_name = "my_wonderfull_admin_users"
end
Ora dovrete AaaBbb
come risorsa in percorsi che significa che avrete un url del tipo:
.../aaa_bbb/...
e se si desidera utilizzare il nome nome della tabella in url Credo che si potrebbe riscrivere il percorso:
get 'aaa_bbb_ccc_ddd/:id', "aaa_bbb#show", as: "aaa_bbb"
di nuovo, solo una teoria che potrebbe aiutarti. Non ho ancora lavorato con questi casi, ma avrei iniziato da questo.
modificare
a automatizzare la creazione del modello dal database:
https://github.com/bosko/rmre
ma penso che questo creerà modelli dalle rotaie convenzione con nomi strani che dovrete da usare come risorsa nella tua app.
Un buon modello che ho trovato su SO nel caso in cui si desidera utilizzare un nome di modello diverso dal nome della tabella:
class YourIdealModelName < ActiveRecord::Base
self.table_name = `actual_table_name`
self.primary_key = `ID`
belongs_to :other_ideal_model,
:foreign_key => 'foreign_key_on_other_table'
has_many :some_other_ideal_models,
:foreign_key => 'foreign_key_on_this_table',
:primary_key => 'primary_key_on_other_table'
end
C'è un modo per automatizzare questo da uno schema.rb? Ho ~ 20 tavoli con ~ 10 colonne ciascuno. Non voler codificare nomi e attributi a mano se possibile. – Derek
dovresti preoccuparti solo delle tabelle e usare le loro colonne così come sono. Non sono sicuro che tu possa modificare le colonne in qualche modo senza influire sull'altra app che funziona con questo db. A proposito di automatizzare penso a un incontro .. aggiornerò la mia risposta se trovo qualcosa di utile. – rmagnum2002
oh, non stavo pensando di cambiare i nomi delle colonne.È proprio ora che non ho nemmeno un file di modelli visto che sto facendo cose all'indietro. Quindi dovrò digitare tutto incluso la roba attr_accessible', quindi vorrei che qualcosa generi automaticamente TUTTO il codice del modello per me. – Derek