爲我的應用程序,我有幾個表(franceusers,belgiumusers,...),我想使用一個或另一個取決於域 我試着用table_name_prefix和table_name但它似乎不起作用自定義table_name用於設計的用戶
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
end
感謝調試器,我可以看到,被稱爲,但不self.table_name_prefix。即使self.table_name好象叫,制定搜索用戶表的用戶,而不是franceusers
在控制檯 User.table_name => 「franceusers」
User.table_name_prefix => 「法國」
更多奇怪的是,即時通訊也使用activeadmin,並且當我瀏覽用戶列表時,我有一個錯誤: Mysql2 ::錯誤:未知列'franceusers.id'在'訂單子句'中:SELECT users。* FROM users ORDER BY franceusers.id desc LIMIT 30 OFFSET 0
它似乎可以找到table_prefix字段b不適用於FROM。
我做什麼壞事?有沒有另一種方式來改變用戶表名? 我不能參加一個所有用戶的表,因爲它是我的老闆的指令:-s
感謝