diff --git a/app/controllers/admin/cancerpredicts_controller.rb b/app/controllers/admin/cancerpredicts_controller.rb index dba1238..13a76f7 100644 --- a/app/controllers/admin/cancerpredicts_controller.rb +++ b/app/controllers/admin/cancerpredicts_controller.rb @@ -14,6 +14,9 @@ class Admin::CancerpredictsController < OrbitAdminController super @app_title = "cancerpredict" end + def yaml_load(v) + YAML.load(v).map(&:to_s) + end def index @tags = @module_app.tags @categories = @module_app.categories.enabled @@ -69,7 +72,7 @@ class Admin::CancerpredictsController < OrbitAdminController end else if value.length > 2 - @form_to_show.form_show[num.to_s][key.to_s] = YAML.load(value) + @form_to_show.form_show[num.to_s][key.to_s] = yaml_load(value) else @form_to_show.form_show[num.to_s][key.to_s] = [] end @@ -92,7 +95,7 @@ class Admin::CancerpredictsController < OrbitAdminController end else if sub_value.length > 2 - @form_to_show.form_show[ num.to_s ][ sub_property ][params[:locale].to_s] = YAML.load(sub_value) + @form_to_show.form_show[ num.to_s ][ sub_property ][params[:locale].to_s] = yaml_load(sub_value) else @form_to_show.form_show[ num.to_s ][ sub_property ][params[:locale].to_s] = [] end @@ -157,7 +160,7 @@ class Admin::CancerpredictsController < OrbitAdminController end else if value.length > 2 - @form_to_show.form_show_in_result[num.to_s][key.to_s] = YAML.load(value) + @form_to_show.form_show_in_result[num.to_s][key.to_s] = yaml_load(value) else @form_to_show.form_show_in_result[num.to_s][key.to_s] = [] end @@ -180,7 +183,7 @@ class Admin::CancerpredictsController < OrbitAdminController end else if sub_value.length > 2 - @form_to_show.form_show_in_result[ num.to_s ][ sub_property ][params[:locale].to_s] = YAML.load(sub_value) + @form_to_show.form_show_in_result[ num.to_s ][ sub_property ][params[:locale].to_s] = yaml_load(sub_value) else @form_to_show.form_show_in_result[ num.to_s ][ sub_property ][params[:locale].to_s] = [] end @@ -216,7 +219,7 @@ class Admin::CancerpredictsController < OrbitAdminController @form_to_show[item] = item_hash elsif @form_to_show[item].class == Array if params_cancer[item].class != Array - @form_to_show[item] = YAML.load(params_cancer[item]) rescue [] + @form_to_show[item] = yaml_load(params_cancer[item]) rescue [] else @form_to_show[item] = params_cancer[item] end @@ -226,7 +229,7 @@ class Admin::CancerpredictsController < OrbitAdminController end end @size = ['small','medium','large'] - @size.each{|size| @form_to_show[size] = params["cancerpredictfields"][size]} + @size.each{|size| @form_to_show[size] = params["cancerpredictfields"][size].to_h} @file_path = Rails.root.to_s + '/app/assets/images/predict_tool' if !Dir.exist? @file_path FileUtils.mkdir_p @file_path diff --git a/app/helpers/admin/cancerpredicts_helper.rb b/app/helpers/admin/cancerpredicts_helper.rb index 57c1789..518f66d 100644 --- a/app/helpers/admin/cancerpredicts_helper.rb +++ b/app/helpers/admin/cancerpredicts_helper.rb @@ -1,4 +1,13 @@ module Admin::CancerpredictsHelper + def bc_yaml_dump(arr) + if arr.blank? + '[]' + elsif arr.class != String + '[' + arr.join(', ') + ']' + else + arr + end + end def create_pagination(page=1,fields=Cancerpredictrecord.all,extra_params="") page = 1 if page == 0 per_page_num = 10.0 diff --git a/app/views/admin/cancerpredicts/_form.html.erb b/app/views/admin/cancerpredicts/_form.html.erb index 9a45a21..23914dd 100644 --- a/app/views/admin/cancerpredicts/_form.html.erb +++ b/app/views/admin/cancerpredicts/_form.html.erb @@ -16,6 +16,7 @@ <%else%> <% @disp_value = @value %> <%end%> + <% @disp_value = bc_yaml_dump(@disp_value) if value_type == 'Array' %> <% field_type = ((value_type == 'String' || value_type == 'Array' || value_type == 'Float') ? "text_field" : value_type) %> <% if value_type == 'Fixnum' %> <% if @value == 1%> diff --git a/app/views/admin/cancerpredicts/index.html.erb b/app/views/admin/cancerpredicts/index.html.erb index 2726e8a..2f8690e 100644 --- a/app/views/admin/cancerpredicts/index.html.erb +++ b/app/views/admin/cancerpredicts/index.html.erb @@ -277,15 +277,27 @@