Ruby on rails 奇怪的建立连接问题

Ruby on rails 奇怪的建立连接问题,ruby-on-rails,Ruby On Rails,当用户选择产品时,它会设置会话[:product_id]并调用该产品的数据库_changer。我的问题是,当另一个用户选择另一个产品时,它也会影响其他用户。例如: 用户A登录并选择产品X。 用户B也登录并选择 产品Y。现在用户A刷新其 第页并查看产品Y的项目 这是怎么发生的 无论应用程序/请求/会话如何,整个应用程序中的类的数据库连接都应相同 更好的方法是为每个不同的数据库源对项目进行分类,然后确定要使用哪个子类。谢谢,先生。所有数据库配置都是动态创建的,并存储在数据库中。我不能使用databa

当用户选择产品时,它会设置会话[:product_id]并调用该产品的数据库_changer。我的问题是,当另一个用户选择另一个产品时,它也会影响其他用户。例如:

用户A登录并选择产品X。 用户B也登录并选择 产品Y。现在用户A刷新其 第页并查看产品Y的项目


这是怎么发生的

无论应用程序/请求/会话如何,整个应用程序中的类的数据库连接都应相同


更好的方法是为每个不同的数据库源对项目进行分类,然后确定要使用哪个子类。

谢谢,先生。所有数据库配置都是动态创建的,并存储在数据库中。我不能使用database.yml。创建产品时,将自动创建其数据库。我找不到这样做的方法。我不明白的是,它们是如何影响数据库连接的。用户正在切换到他们的连接。建立连接在做什么?它的范围是什么。它是否影响所有应用程序?
application_controller 

   def database_changer
    Item.establish_connection(
        :adapter  => current_product.db_config.adapter,
        :host     => current_product.db_config.host,
        :username => current_product.db_config.username,
        :password => current_product.db_config.password,
        :database => current_product.db_config.database
    )
    end