Selon la doc : http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-table_name
Je penses que ton truc devrait fonctionner. Peux-tu essayer la secondes solution comme ceci : class Mouse < ActiveRecord::Base self.table_name = "mice" end Le 7 mars 2013 09:10, Nicolas Blanco <[email protected]> a écrit : > Hey ! > > Je passais juste par là pour mettre mon grain de sel. Bon, amuse toi à > faire tes trucs de changement de table dynamique et on se reparle dans > 1 mois. Tu me diras alors si c'était une bonne idée ou pas (hihi). > > @+. > > Nicolas. > > 2013/3/7 oto iashvili <[email protected]>: > > rails 3.2.10 > > > > > > mais je vois pas de diffence entre ton code et le mien : > > > > > > def self.table_name > > debugger > > 'franceusers' > > end > > > > > > et > > > > def self.table_name > > "special_" + super > > end > > > > hormis le "super", mais ca ne devrait rien changer, 'franceusers' dans > mon > > ca est juste pour tester. > > > > Le jeudi 7 mars 2013 14:56:42 UTC+1, Guirec Corbel a écrit : > >> > >> La différence peut être la version de Rails que tu utilise. Laquelle > >> est-ce? > >> > >> (Sérieusement, parle en à ton boss. C'est une bonne pratique de faire ça > >> comme ça.) > >> > >> Le 7 mars 2013 08:53, oto iashvili <[email protected]> a écrit : > >> > >>> la methode table_name_prefix existe est fonctionne tres bien pour mes > >>> autres classes > >>> http://apidock.com/rails/ActiveRecord/Base/table_name_prefix/class > >>> > >>> Le jeudi 7 mars 2013 14:47:37 UTC+1, pierre nespo a écrit : > >>>> > >>>> La méthode `table_name_prefix` n’existe pas, il n'y a donc aucune > raison > >>>> pour qu'elle soit appelée. cf: > >>>> > https://github.com/rails/rails/blob/3-2-13/activerecord/lib/active_record/model_schema.rb > >>>> > >>>> De plus changer le nom de la table "dynamiquement" dans le model n'est > >>>> pas une bonne idée car tu agis sur la Classe User et pas sur > l'Instance > >>>> User, donc même si cela semble fonctionner en développement, tu > risques > >>>> d'avoir des surprises une fois en production (car les classes sont > mises en > >>>> cache). > >>>> > >>>> Pierre > >>>> > >>>> > >>>> 2013/3/7 Guirec Corbel <[email protected]> > >>>>> > >>>>> Pourrais-tu préciser pourquoi c'est impossible? > >>>>> > >>>>> Le 7 mars 2013 08:32, oto iashvili <[email protected]> a écrit > : > >>>>> > >>>>>> impossible dans mon cas. Vraiment besoin de separer les tables. Et > ca > >>>>>> fonctionne tres bien pour mes autres tables (post, image, ...) , > seul la > >>>>>> table user pose pb! > >>>>>> > >>>>>> Le jeudi 7 mars 2013 14:27:07 UTC+1, Guirec Corbel a écrit : > >>>>>>> > >>>>>>> Je suis tout à fait d'accord avec Thibeaut. Tu peux utiliser des > >>>>>>> scopes pour segmenter tes utilisateurs par pays. > >>>>>>> > >>>>>>> Le 7 mars 2013 08:23, Thibaut Barrère <[email protected]> a > écrit > >>>>>>> : > >>>>>>>> > >>>>>>>> Bonjour, > >>>>>>>> > >>>>>>>> mon conseil: regroupe les deux tables en une seule si tu peux > >>>>>>>> (vraiment), avec une colonne pour identifier le pays etc. Sur la > durée ça > >>>>>>>> sera plus simple, si tu peux le faire. > >>>>>>>> > >>>>>>>> Thibaut > >>>>>>>> -- > >>>>>>>> http://www.logeek.fr > >>>>>>>> > >>>>>>>> > >>>>>>>> 2013/3/7 oto iashvili <[email protected]> > >>>>>>>>> > >>>>>>>>> Bonjour, > >>>>>>>>> pour mon appli, j'ai plusieurs tables utilisateurs (franceusers, > >>>>>>>>> belgiqueusers, ...), et j'aimerais utilisé l'une ou l'autre en > fonction du > >>>>>>>>> domaine. > >>>>>>>>> J'ai essayé avec table_name_prefix et table_name, mais ca ne > semble > >>>>>>>>> pas fonctionner > >>>>>>>>> > >>>>>>>>> class User < ActiveRecord::Base > >>>>>>>>> rolify > >>>>>>>>> # Include default devise modules. Others available are: > >>>>>>>>> # :token_authenticatable, :confirmable, > >>>>>>>>> # :lockable, :timeoutable and :omniauthable > >>>>>>>>> devise :database_authenticatable, :registerable, #:confirmable, > >>>>>>>>> :recoverable, :rememberable, :trackable, :validatable > >>>>>>>>> > >>>>>>>>> def self.table_name > >>>>>>>>> debugger > >>>>>>>>> 'franceusers' > >>>>>>>>> end > >>>>>>>>> > >>>>>>>>> def self.table_name_prefix > >>>>>>>>> debugger > >>>>>>>>> 'france' > >>>>>>>>> end > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> grace a debugger, j'ai pu voir que self.table_name est bien > appelé, > >>>>>>>>> mais pas self.table_name_prefix. Et meme si self.table_name, > devise va > >>>>>>>>> chercher les utilisateurs dans la table users et non franceusers > >>>>>>>>> > >>>>>>>>> pourtant > >>>>>>>>> User.table_name renvoie bien "franceusers" et > >>>>>>>>> User.table_name_prefix renvoie bien "france" > >>>>>>>>> > >>>>>>>>> ya a til qqch de spécial a faire pour que cela marche ? > >>>>>>>>> > >>>>>>>>> merci > >>>>>>>>> > >>>>>>>>> -- > >>>>>>>>> -- > >>>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe > >>>>>>>>> "Railsfrance" de Google Groups. > >>>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à > >>>>>>>>> l'adresse [email protected] > >>>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse > >>>>>>>>> [email protected] > >>>>>>>>> > >>>>>>>>> --- > >>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google > >>>>>>>>> Groupes Railsfrance. > >>>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails > le > >>>>>>>>> concernant, envoyez un e-mail à l'adresse > [email protected]. > >>>>>>>>> > >>>>>>>>> Pour plus d'options, visitez le site > >>>>>>>>> https://groups.google.com/groups/opt_out . > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> -- > >>>>>>>> -- > >>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe > >>>>>>>> "Railsfrance" de Google Groups. > >>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à > >>>>>>>> l'adresse [email protected] > >>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse > >>>>>>>> [email protected] > >>>>>>>> > >>>>>>>> --- > >>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google > >>>>>>>> Groupes Railsfrance. > >>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > >>>>>>>> concernant, envoyez un e-mail à l'adresse > [email protected]. > >>>>>>>> > >>>>>>>> Pour plus d'options, visitez le site > >>>>>>>> https://groups.google.com/groups/opt_out . > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>> -- > >>>>>> -- > >>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe > >>>>>> "Railsfrance" de Google Groups. > >>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à > >>>>>> l'adresse [email protected] > >>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse > >>>>>> [email protected] > >>>>>> --- > >>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes > >>>>>> Railsfrance. > >>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > >>>>>> concernant, envoyez un e-mail à l'adresse > [email protected]. > >>>>>> Pour plus d'options, visitez le site > >>>>>> https://groups.google.com/groups/opt_out . > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> -- > >>>>> Vous avez reçu ce message, car vous êtes abonné au groupe > "Railsfrance" > >>>>> de Google Groups. > >>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à > >>>>> l'adresse [email protected] > >>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse > >>>>> [email protected] > >>>>> --- > >>>>> Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes > >>>>> Railsfrance. > >>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > >>>>> concernant, envoyez un e-mail à l'adresse > [email protected]. > >>>>> Pour plus d'options, visitez le site > >>>>> https://groups.google.com/groups/opt_out . > >>>>> > >>>>> > >>>> > >>>> > >>> -- > >>> -- > >>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" > >>> de Google Groups. > >>> Pour transmettre des messages à ce groupe, envoyez un e-mail à > l'adresse > >>> [email protected] > >>> Pour résilier votre abonnement envoyez un e-mail à l'adresse > >>> [email protected] > >>> --- > >>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > >>> Railsfrance. > >>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > >>> concernant, envoyez un e-mail à l'adresse > [email protected]. > >>> Pour plus d'options, visitez le site > >>> https://groups.google.com/groups/opt_out . > >>> > >>> > >> > >> > > -- > > -- > > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" > de > > Google Groups. > > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > > [email protected] > > Pour résilier votre abonnement envoyez un e-mail à l'adresse > > [email protected] > > --- > > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > > Railsfrance. > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > > concernant, envoyez un e-mail à l'adresse > > [email protected]. > > Pour plus d'options, visitez le site > > https://groups.google.com/groups/opt_out . > > > > > > > > -- > Nicolas Blanco, Web developper > > http://www.nicolasblanco.fr > Jabber/GoogleTalk : [email protected] > Twitter : http://twitter.com/slainer68 > Github : http://github.com/slainer68 > Skype : slainer68 > > -- > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes Railsfrance. > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour plus d'options, visitez le site > https://groups.google.com/groups/opt_out . > > > -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
