Domanda sul default_scope con Rails 2/3. Sul mio progetto Rails 3, sto usando un lotto predefinito_scope per ordinare da created_at desc. Quindi, prima mi ha scritto:Domanda sul ActiveRecord metodo # default_scope e Ordinamento predefinito
default_scope order("created_at desc")
in molti dei miei modelli. Ma il problema è che created_at esiste in quasi tutti i miei tabelle applicative ... Quindi, se scrivo una query che fa semplicemente un join su due tavoli, ottengo un errore di SQL colonna ambiguo created_at ... Così ho dovuto riscrivere tutto default_scopes per includere il table_name, come:
default_scope order("posts.created_at desc")
c'è un modo migliore per gestire questo problema o è l'unica soluzione?
Grazie.
Vorrei anche suggerire di avvolgerlo in apici inversi ('\' '), per ogni evenienza. –
I backtick vanno bene per MySQL, ma sii consapevole che non fanno parte dello standard ANSI-SQL, quindi potrebbero causare problemi con altri server di database. –