From 45b88d565b2dad6e29e4f673d5bd8ecf63cb3d2d Mon Sep 17 00:00:00 2001 From: Yammy Date: Fri, 19 May 2017 11:20:40 +0800 Subject: [PATCH 1/2] test safe --- app/controllers/application_controller.rb | 2 +- app/controllers/events_controller.rb | 6 ++++-- app/controllers/users_controller.rb | 11 +++++++++-- app/helpers/users_helper.rb | 10 +++++++--- app/views/events/show.html.erb | 6 +++--- config/routes.rb | 2 +- 6 files changed, 25 insertions(+), 12 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 682a07d..cd6ea53 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,6 +1,6 @@ class ApplicationController < ActionController::Base - # protect_from_forgery with: :exception + protect_from_forgery with: :exception helper_method :current_cart diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index 245dece..4ab4b15 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -9,10 +9,12 @@ def show @comments = @event.comments if params[:keyword] - @comments = @comments.where( "comments.content LIKE '%#{params[:keyword]}%'") + # @comments = @comments.where( "comments.content LIKE '%#{params[:keyword]}%'") + keyword = ActiveRecord::Base::connection.quote_string( params[:keyword] ) + @comments = @comments.where( "comments.content LIKE ?", "%#{params[:keyword]}%") end - if params[:sort] + if params[:sort] && ["id DESC", "id ASC"].include?(params[:sort]) @comments = @comments.order(params[:sort]) end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f4b4e65..1a5e5d5 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -10,13 +10,20 @@ def edit def update @user = current_user - params[:user].permit! + # params[:user].permit! - if @user.update(params[:user]) + # if @user.update(params[:user]) + if @user.update(user_params) redirect_to user_path(@user) else render "edit" end end + protected + + def user_params + params.require(:user).permit(:nickname) + end + end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index ed49051..7c220a0 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -7,9 +7,13 @@ def user_avatar_link(user) email_md5 = Digest::MD5.hexdigest(user.email) gravatar_url = "https://www.gravatar.com/avatar/#{email_md5}" - str = "" - - str.html_safe + # src = "" + # src.html_safe + # + # "" + content_tag(:div, + link_to(image_tag(gravatar_url), user_path(user)) + tag("") + user.display_name, + :class => "user-link") end end diff --git a/app/views/events/show.html.erb b/app/views/events/show.html.erb index 0e89067..cfbe93a 100644 --- a/app/views/events/show.html.erb +++ b/app/views/events/show.html.erb @@ -22,14 +22,14 @@
- <%= raw comment.content %> + <%= sanitize comment.content %>