les gars, j'ai bien compris que c'etait pas la meilleurs solution.
Maintenant c'est celle qui m'est imposée. C'est souvent comme ca dans un
projet, et on doit faire avec. Alors svp arretons dépiloguer la dessus ;-)
J'apprecie vraiment votre aide et 'ai vraiment besoin de trouver une
solution, j'ai fait de nombreux test et j'en arrive a des truc bizar, qui
certes meme si ce n'est pas la meilleure solution, me donne des resultats
qui ne devrait pas avoir lieu
exemple
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
self.table_name = 'belgiqueusers'
def self.table_name
'franceusers'
end
end
me donne l'erreur :
Mysql2::Error: Unknown column 'franceusers.id' in 'order clause': SELECT
`belgiqueusers`.* FROM `belgiqueusers` ORDER BY `franceusers`.`id` desc
LIMIT 30 OFFSET 0
il me mixte les deux, donc fait bien un appel dynamic a la methode def
self.table_name pour les champs, mais pas pour le FROM.
Le jeudi 7 mars 2013 15:41:11 UTC+1, Nicolas Blanco a écrit :
>
> 2013/3/7 guillaume belleguic <[email protected] <javascript:>>:
> > A mon avis tu vas au devant de gros problème...
>
> Mais noooon, mauvaise langue !! Tu sais bien qu'il vaut mieux faire de
> l'over-engineering dès le départ plutôt que de faire un truc simple et
> qui marche. Voyons...
>
> >
> > Une question le changement de nom de table en live ça marche en mode
> > production ?
> >
> > Le 7 mars 2013 15:27, oto iashvili <[email protected] <javascript:>>
> a écrit :
> >
> >> oui ca m'affiche bien "franceuser"
> >> je viens de voir aussi que si je mets
> >>
> >> 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
> >>
> >>
> >> self.table_name = 'franceusers'
> >>
> >> ca fonctionne bien. Il semble donc que ce soit la methode qui pose pb,
> >> mais pourquoi ... ?
> >>
> >>
> >>
> >> Le jeudi 7 mars 2013 15:21:12 UTC+1, Guirec Corbel a écrit :
> >>>
> >>> Peux-tu juste démarrer la console Rails et faire un User.table_name
> pour
> >>> vérifier si le nom de la table est changée ou non.
> >>>
> >>> Le 7 mars 2013 09:19, oto iashvili <[email protected]> a écrit :
> >>>
> >>>> bizar, car cela marché qd meme.
> >>>>
> >>>> Bref, j'ai enlevé le table_name_prefix pour le remplacer par
> table_name
> >>>>
> >>>> mais ca ne fonctionne toujours pas.
> >>>>
> >>>> sans parler de changement dynamic, imaginons juste que j'ai deja une
> bdd
> >>>> avec des tables pour une autre app et pour pas melanger les tables,
> je
> >>>> voudrais prefixé toutes les tables de ma second app par "france", ca
> devrait
> >>>> etre possible. Et encore une fois, ca semble tres bien fonctionné
> avec
> >>>> toutes les autres tables, seul la users ne le prend pas.
> >>>>
> >>>> Le jeudi 7 mars 2013 15:09:22 UTC+1, pierre nespo a écrit :
> >>>>>
> >>>>> Donc si tu lis
> >>>>> http://apidock.com/rails/ActiveRecord/Base/table_name_prefix/class,
> cette
> >>>>> méthode n'existe plus en 3.2.10.
> >>>>>
> >>>>> Et y'a aucune différence entre les 2 méthodes.
> >>>>>
> >>>>> Pierre
> >>>>>
> >>>>>
> >>>>> 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 .
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>> --
> >>>> --
> >>>> 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] <javascript:>
> >> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> >> [email protected] <javascript:>
> >> ---
> >> 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] <javascript:>.
> >> 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] <javascript:>
> > Pour résilier votre abonnement envoyez un e-mail à l'adresse
> > [email protected] <javascript:>
> > ---
> > 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] <javascript:>.
> > 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] <javascript:>
> 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 .