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
>>>>> railsfrance...@**googlegroups.com
>>>>>
>>>>> ---
>>>>> 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 railsfrance...@**
>>>>> googlegroups.com.
>>>>>
>>>>> Pour plus d'options, visitez le site https://groups.google.com/**
>>>>> groups/opt_out <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
>>>> railsfrance...@**googlegroups.com
>>>>
>>>> ---
>>>> 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 railsfrance...@**
>>>> googlegroups.com.
>>>>
>>>> Pour plus d'options, visitez le site https://groups.google.com/**
>>>> groups/opt_out <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 .


Répondre à