diff options
Diffstat (limited to 'rails/app/controllers')
| -rw-r--r-- | rails/app/controllers/lingo/scores_controller.rb | 10 |
1 files changed, 7 insertions, 3 deletions
| diff --git a/rails/app/controllers/lingo/scores_controller.rb b/rails/app/controllers/lingo/scores_controller.rb index 63fd0f9..59bbd9d 100644 --- a/rails/app/controllers/lingo/scores_controller.rb +++ b/rails/app/controllers/lingo/scores_controller.rb | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | module Lingo | 1 | module Lingo |
| 2 | class ScoresController < ApplicationController | 2 | class ScoresController < ApplicationController |
| 3 | skip_before_action :verify_authenticity_token, only: [:update] | ||
| 4 | |||
| 3 | def index | 5 | def index |
| 4 | @scores = Score.order(score: :desc) | 6 | @scores = Score.order(score: :desc) |
| 5 | end | 7 | end |
| @@ -8,13 +10,15 @@ module Lingo | |||
| 8 | if params[:secret_code] != Lingo.secret_code then | 10 | if params[:secret_code] != Lingo.secret_code then |
| 9 | head :unauthorized | 11 | head :unauthorized |
| 10 | else | 12 | else |
| 11 | score = Score.find_or_create_by(user_id: params[:user_id]) | 13 | score = Score.find_or_create_by(user_id: params[:user_id]) do |score| |
| 14 | score.score = 0 | ||
| 15 | end | ||
| 12 | score.username = params[:username] | 16 | score.username = params[:username] |
| 13 | score.avatar_url = params[:avatar_url] | 17 | score.avatar_url = CGI.unescape(params[:avatar_url]) |
| 14 | score.score += 1 | 18 | score.score += 1 |
| 15 | score.save! | 19 | score.save! |
| 16 | 20 | ||
| 17 | render :blank | 21 | head :created |
| 18 | end | 22 | end |
| 19 | end | 23 | end |
| 20 | end | 24 | end |
