Module: Vanity::Rails::AddParticipant
- Included in:
- Dashboard
- Defined in:
- lib/vanity/frameworks/rails.rb
Overview
When configuring use_js to true, you must set up a route to add_participant_route.
Step 1: Add a new resource in config/routes.rb:
post "/vanity/add_participant" => "vanity#add_participant"
Step 2: Include Vanity::Rails::AddParticipant (or Vanity::Rails::Dashboard) in VanityController
class VanityController < ApplicationController
include Vanity::Rails::AddParticipant
end
Step 3: Open your browser to localhost:3000/vanity
Instance Method Summary collapse
-
#add_participant ⇒ Object
JS callback action used by vanity_js.
Instance Method Details
#add_participant ⇒ Object
JS callback action used by vanity_js
316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 |
# File 'lib/vanity/frameworks/rails.rb', line 316 def add_participant if params[:v].nil? head 404 return end h = {} params[:v].split(',').each do |pair| exp_id, answer = pair.split('=') exp = begin Vanity.playground.experiment(exp_id.to_s.to_sym) rescue StandardError nil end answer = answer.to_i if !exp || !exp.alternatives[answer] head 404 return # rubocop:todo Lint/NonLocalExitFromIterator end h[exp] = exp.alternatives[answer].value end h.each { |e, a| e.chooses(a, request) } head 200 end |