我尝试为我的rails 2.3.5应用程序安装Vanity gem,我想使用MySQL进行虚荣。当我使用redis配置它时,一切都工作得很好但是当我更改配置文件以使用mysql时:
development:
adapter: active_record
active_record_adapter: mysql
host: localhost
database: vanity
username: root
password:
我收到以下错误:
Showing
/Users/dries/.rvm/gems/ruby-1.8.7-p302/gems/vanity-1.5.3/lib/vanity/templates/_ab_test.erb where line #1 raised:
Vanity::Adapters::ActiveRecordAdapter is not missing constant
VanityConversion! Extracted source (around line #1):
1: <% score = experiment.score %>
2: <table>
3: <caption>
4: <%= experiment.conclusion(score).join(" ") %></caption>
Trace of template
inclusion:
/Users/dries/.rvm/gems/ruby-1.8.7-p302/gems/vanity-1.5.3/lib/vanity/templates/_experiment.erb,
/Users/dries/.rvm/gems/ruby-1.8.7-p302/gems/vanity-1.5.3/lib/vanity/templates/_experiments.erb,
/Users/dries/.rvm/gems/ruby-1.8.7-p302/gems/vanity-1.5.3/lib/vanity/templates/_report.erb
我在环境文件development.rb中添加了:
Vanity.playground.establish_connection :development
Vanity.playground.collecting = true
所以它必须对虚荣宝石中包含的适配器做一些事情,因为redis工作正常。有人知道解决方案吗?
答案 0 :(得分:1)
我还没有弄清楚原因,但我通过更明确地使用active_record_adapter.rb文件中的has_many关联的类名来实现它:
has_many :vanity_metric_values, :class_name => "Vanity::Adapters::ActiveRecordAdapter::VanityMetricValue"
has_many :vanity_conversions, :dependent => :destroy, :class_name => "Vanity::Adapters::ActiveRecordAdapter::VanityConversion"
编辑:这似乎打破了第一次启动虚荣的迁移过程(我正在努力修复!),但可能会帮助您找到解决方案。