ruby-on-rails – 使用会话变量设置数据库连接
发布时间:2020-12-17 02:33:44 所属栏目:百科 来源:网络整理
导读:我知道我不想这样做,但我不知道我该怎么做. 我想根据哪个用户使用不同的数据库.所以我认为最好的方法是如果我在第一次用户登录时设置会话变量… 这是它的样子: class Stuff ActiveRecord::Base establish_connection( :adapter = "mysql2",:host = "127.0.0
我知道我不想这样做,但我不知道我该怎么做.
我想根据哪个用户使用不同的数据库.所以我认为最好的方法是如果我在第一次用户登录时设置会话变量… 这是它的样子: class Stuff < ActiveRecord::Base establish_connection( :adapter => "mysql2",:host => "127.0.0.1",:username => session["dbuser"],:password => session["dbuserpass"],:database => session["dbname"]) 这当然不起作用.有谁知道如何做到这一点? 解决方法
您可以将方法重写为:
class Stuff < ActiveRecord::Base def establish_connection_user(user,pass,database) establish_connection( :adapter => "mysql2",:username => user,:password => pass,:database => database) end end 并在您的控制器中: class StuffController < ApplicationController def login #example stuff = Stuff.new stuff.establish_connection_user( session[:dbuser],session[:dbuserpass],session[:dbname]) end 这样您也可以封装它并使细节不那么明显.我也建议你 Storing an encrypted cookie with Rails (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |