0

サーバーAでVanityを使用していますが、ダッシュボードはサーバーBに表示したいです。

完了した手順:

  1. Gemfile に gem 'vanity' を追加
  2. vanity.yml を追加 (サーバー A と同じデータベースを使用)
  3. バニティコントローラーを追加

しかし、localhost:3000/vanity にアクセスすると、「Generated by Vanity」しか含まれていないページしか表示されません。

実験ファイルも追加する必要がありますか? しかし、サーバー B は既にサーバー A にあるため、可能な限りそれらをサーバー B にコピーしたくありません。ダッシュボードをサーバー B に表示する必要があるだけです。

ここに画像の説明を入力

4

1 に答える 1

0

Vanity は実験ファイルを代替値などの信頼できる情報源として使用するため、これらのファイルをコピーするのが最も簡単な方法です。(もしかしたら、git サブモジュールがそれらを 1 か所にまとめておくのに役立つでしょうか?)

少しハッキーなことが問題ない場合、これは読み取り専用アプリで機能する可能性があります。

# 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

これにより、データベースから利用可能な情報が取得され (代替名はなく、実験ファイル内の代替のインデックス番号のみが含まれます)、いくつかの仮定が行われますが、データが読み込まれるようです。

于 2016-06-11T20:57:43.363 に答える