2016-06-06 3 views
0

I Vanity in Server A. Aber für das Armaturenbrett verwenden, mag ich es auf Server B angezeigtWie wird das Vanity Dashboard auf einem anderen Server angezeigt?

Schritte:

  1. Added Juwel 'Eitelkeit' in der Gemfile
  2. Added Eitelkeit .yml (gebraucht gleiche Datenbank wie Server A)
  3. Added Eitelkeit Controller

Aber alles, was ich jetzt sehe, wenn ich auf localhost gehen: 3000/Eitelkeit ist eine Seite nur mit ‚generierte durch Van "darin".

Muss ich auch die Experimentdateien hinzufügen? Aber so viel wie möglich will ich nicht, um sie zu Server B kopieren über, wie es bereits in Server A. Ich brauche nur das Dashboard in Server B angezeigt wird

enter image description here

Antwort

0

Vanity macht das Experiment verwenden Dateien als Quelle der Wahrheit für Dinge wie alternative Werte, so würde das Kopieren dieser Dateien der einfachste Ansatz sein. (? Vielleicht ein git Submodul könnte sie helfen, an einer Stelle zu halten)

Wenn etwas ein bisschen hacky in Ordnung ist, könnte dies in dem Nur-Lese-App arbeiten:

# config/initializers/vanity.rb 
::Rails.configuration.after_initialize do 
    Vanity::Adapters::ActiveRecordAdapter::VanityExperiment.all.each do |experiment| 
    id = experiment.experiment_id 
    experiment = Vanity::Experiment::AbTest.new(Vanity.playground, id, id.humanize) 
    experiment.default(Vanity::Adapters::ActiveRecordAdapter::VanityParticipant.where(experiment_id: id).first.seen) 
    used_alternatives = Vanity::Adapters::ActiveRecordAdapter::VanityParticipant.where(experiment_id: id).pluck(:seen).uniq 
    if used_alternatives.size >= 2 
     # If we have at least 2 alternatives, set them, otherwise use the default true/false 
     experiment.alternatives(*used_alternatives) 
    end 
    Vanity.playground.experiments[id] = experiment 
    end 
end 

Dies zieht die verfügbaren Informationen aus die Datenbank (also nicht die Alternativen Namen, es hat nur die Indexnummern der Alternativen in der Experiment-Datei), und macht einige Annahmen, scheint aber die Daten zu laden.