From dc68b3068b17a42cc2ea1d38f9ff4719d9d0a726 Mon Sep 17 00:00:00 2001 From: mlorb Date: Wed, 3 Jan 2018 13:19:56 +0100 Subject: [PATCH] fix Rails 5.1 bug with params --- app/controllers/samples_controller.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/controllers/samples_controller.rb b/app/controllers/samples_controller.rb index 2026b495c..94684f2ff 100644 --- a/app/controllers/samples_controller.rb +++ b/app/controllers/samples_controller.rb @@ -189,7 +189,7 @@ class SamplesController < ApplicationController end # Add all newly added sample fields - params[:custom_fields].to_a.each do |id, val| + custom_fields_params.to_a.each do |id, val| # Check if client is lying (SCF shouldn't exist) scf = SampleCustomField.where("custom_field_id = ? AND sample_id = ?", id, sample.id).take @@ -227,7 +227,7 @@ class SamplesController < ApplicationController scf_to_delete = [] # Update all existing custom values - params[:sample_custom_fields].to_a.each do |id, val| + sample_custom_fields_params.to_a.each do |id, val| scf = SampleCustomField.find_by_id(id) if scf @@ -323,6 +323,14 @@ class SamplesController < ApplicationController ) end + def custom_fields_params + params.permit(custom_fields: {}).to_h[:custom_fields] + end + + def sample_custom_fields_params + params.permit(sample_custom_fields: {}).to_h[:sample_custom_fields] + end + def sample_annotation_notification(sample, scf, old_text = nil) table_url = params.fetch(:request_url) { :request_url_must_be_present } smart_annotation_notification(