diff --git a/app/controllers/field_test/experiments_controller.rb b/app/controllers/field_test/experiments_controller.rb index 861f4d7e4..46e256f59 100644 --- a/app/controllers/field_test/experiments_controller.rb +++ b/app/controllers/field_test/experiments_controller.rb @@ -12,5 +12,15 @@ module FieldTest rescue FieldTest::ExperimentNotFound raise ActionController::RoutingError, "Experiment not found" end + + def goal + @experiment = FieldTest::Experiment.find(params[:experiment_id]) + @goal = params.fetch(:goal) + unless @experiment.goals.include?(@goal) + raise ActionController::RoutingError, "Experiment's goal not found" + end + rescue FieldTest::ExperimentNotFound + raise ActionController::RoutingError, "Experiment not found" + end end end diff --git a/app/views/field_test/experiments/goal.html.erb b/app/views/field_test/experiments/goal.html.erb new file mode 100644 index 000000000..f7d4f7da7 --- /dev/null +++ b/app/views/field_test/experiments/goal.html.erb @@ -0,0 +1,52 @@ + +<% experiment = @experiment %> +
<%= link_to "Back to Experiments", FieldTest.railtie_routes_url_helpers.experiment_path(experiment.id) %>
+ +| Variant | +Participants | +Conversions | +Conversion Rate | +Prob Winning | +
|---|---|---|---|---|
| + <%= variant %> + <% if variant == experiment.winner %> + ✓ + <% end %> + | +<%= result[:participated] %> | +<%= result[:converted] %> | ++ <% if result[:conversion_rate] %> + <%= (100.0 * result[:conversion_rate]).round(FieldTest.precision) %>% + <% else %> + - + <% end %> + | ++ <% if result[:prob_winning] %> + <% if result[:prob_winning] < 0.01 %> + < 1% + <% else %> + <%= (100.0 * result[:prob_winning]).round(FieldTest.precision) %>% + <% end %> + <% end %> + | +
| Variant | -Participants | -Conversions | -Conversion Rate | -Prob Winning | -
|---|---|---|---|---|
| - <%= variant %> - <% if variant == experiment.winner %> - ✓ - <% end %> - | -<%= result[:participated] %> | -<%= result[:converted] %> | -- <% if result[:conversion_rate] %> - <%= (100.0 * result[:conversion_rate]).round(FieldTest.precision) %>% - <% else %> - - - <% end %> - | -- <% if result[:prob_winning] %> - <% if result[:prob_winning] < 0.01 %> - < 1% - <% else %> - <%= (100.0 * result[:prob_winning]).round(FieldTest.precision) %>% - <% end %> - <% end %> - | -