2014-02-26 19 views
0

到目前爲止,我可以在控制檯做到這一點,使其工作:PaperTrail及八達通 - 指定版本的表連接

PaperTrail::Version.table_exists? 
=> false 
PaperTrail::Version.octopus_establish_connection Octopus.config[Rails.env][:ms] 
PaperTrail::Version.table_exists? 
=> true 

在哪裏,我怎樣才能把:

PaperTrail::Version.octopus_establish_connection Octopus.config[Rails.env][:ms] 

我試圖把它在app/models/papertrail_version.rbconfig/initializers/papertrail.rb,但在模型沒有加載,並在初始化它失敗,因爲八達通還沒有捆綁,我想我可以將它捆綁在初始化,任何建議如何讓這個儘可能簡單。

更新

我在初始化試過,沒有運氣:

require 'octopus' 
PaperTrail::Version.octopus_establish_connection Octopus.config[Rails.env][:ms] 

試圖運行軌道控制檯時,我得到這個:

/vagrant/config/initializers/papertrail_version.rb:3:in 
`<top (required)>': undefined method `[]' for nil:NilClass (NoMethodError) 

回答

0

app/models/paper_trail/version.rb

module PaperTrail 
    class Version < ActiveRecord::Base 
    octopus_establish_connection Octopus.config[::Rails.env][:ms] 
    end 
end 

注,我在Rails.env

更新使用::

我不得不要求文件中,因爲Rails的加載過程require Rails.root.join 'app/models/paper_trail/version'

+0

這一個初始化末沒有工作。 – juanpastas

+0

您將它標記爲接受... –

+0

它在更新後生效 – juanpastas