奇怪的建立连接问题

时间:2011-06-27 18:42:33

标签: ruby-on-rails

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

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

  

用户A登录并选择产品X.   用户B也登录并且他选择了   产品Y.现在用户A刷新他的   页面并查看产品Y的项目

这是怎么回事?

1 个答案:

答案 0 :(得分:0)

无论app / request / session如何,整个应用程序的类的数据库连接都应该是相同的。

更好的方法是为每个不同的数据库源子类化子项,然后找出要使用的子类。