我使用过rails和gem(充当taggable)。 我想在数据库设置中将行为更改为可标记。 所以,我设置如下
-database.yml
default: &default
adapter: mysql2
database: my_db1
host: localhost
username: root
password: pass
development:
<<: *default
my_db2:
<<: *default
database: my_db2
-user_model.rb
class User < ActiveRecord::Base
acts_as_taggable
establish_connection :my_db2
end
并执行如下
User.find(1)
//this line result is connection to my_db2
User.find(1).tag_list
//this line result is connection to my_db1
//i want to connect to my_db2 in this code(by acts as taggable on)
我不知道如何解决这个问题。
感谢。
答案 0 :(得分:4)
好,所以你需要覆盖tags类,尝试在tags.rb
文件夹中创建一个名为config/initializers
的文件然后添加
module ActsAsTaggableOn
class Tag
establish_connection :my_db2
end
end
重新启动服务器然后它应该可以正常工作。
答案 1 :(得分:1)
我还必须将标记类添加到穆罕默德的答案中。
module ActsAsTaggableOn
class Tag
establish_connection :my_db2
end
class Tagging
establish_connection :my_db2
end
end