diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 768f399..3a64c46 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -229,7 +229,11 @@ module ApplicationHelper doc = Nokogiri::HTML(file, nil, "UTF-8") file.close controller = "#{params[:target_controller].capitalize}_controller".classify.constantize.new - data = controller.send("#{params[:target_action]}") rescue nil + begin + data = controller.send("#{params[:target_action]}")# rescue nil + rescue Exception => e + write_debug_file(e,params[:target_controller],params[:target_action]) if Site::DEBUG + end if !data.nil? wrap_elements = doc.css("*[data-list][data-level='0']") htmls = parsing_repeats_again(wrap_elements,data,1) @@ -261,7 +265,11 @@ module ApplicationHelper doc = Nokogiri::HTML(file, nil, "UTF-8") file.close controller = "#{params[:target_controller].capitalize}_controller".classify.constantize.new - data = controller.send("#{params[:target_action]}") rescue nil + begin + data = controller.send("#{params[:target_action]}")# rescue nil + rescue Exception => e + write_debug_file(e,params[:target_controller],params[:target_action]) if Site::DEBUG + end if data.nil? return "
No content to show.
".html_safe end @@ -496,4 +504,43 @@ module ApplicationHelper target end + def write_debug_file(e,controller_name,action_name) + directory_name = "tmp/debug" + Dir.mkdir(directory_name) unless File.exists?(directory_name) + fn = "#{directory_name}/#{controller_name}_#{action_name}.html" + error_trace_spans = "" + e.backtrace.each do |bt| + error_trace_spans = error_trace_spans + "#{bt}
" + end + con = "#{controller_name.capitalize}_controller".classify.constantize + File.open(fn, "w"){ |file| + file.puts " + + Debug result + + +

Error Message

+
+

#{e.message}

+
+

Request Details

+
+ Url : #{request.url}
+ Controller : #{con.to_s}
+ Action : #{action_name.capitalize} +
+

Error Trace

+
+ #{error_trace_spans} +
+

Params

+
+ #{OrbitHelper.params} +
+ + " + + } + end + end diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb index 4d451ae..f7376fc 100644 --- a/app/helpers/pages_helper.rb +++ b/app/helpers/pages_helper.rb @@ -71,7 +71,11 @@ module PagesHelper wrap_elements = doc.css("*[data-repeat]") controller = "#{controller_name.capitalize.pluralize}_controller".classify.constantize.new OrbitHelper.set_current_widget_module controller_name - data = controller.send("#{widget_method}") rescue nil + begin + data = controller.send("#{widget_method}") #rescue nil + rescue Exception => e + write_widget_debug_file(e,controller_name,widget_method,subpart_id) + end if !data.nil? wrap_elements = doc.css("*[data-list][data-level='0']") htmls = widget_parsing_repeats_again(wrap_elements,data,1) @@ -91,5 +95,45 @@ module PagesHelper end end + def write_widget_debug_file(e,controller_name,action_name,sub_part) + directory_name = "tmp/debug" + Dir.mkdir(directory_name) unless File.exists?(directory_name) + fn = "#{directory_name}/#{controller_name}_#{action_name}_#{(sub_part if !sub_part.nil?)}.html" + error_trace_spans = "" + e.backtrace.each do |bt| + error_trace_spans = error_trace_spans + "#{bt}
" + end + con = "#{controller_name.capitalize.pluralize}_controller".classify.constantize + File.open(fn, "w"){ |file| + file.puts " + + Debug result + + +

Error Message

+
+

#{e.message}

+
+

Request Details

+
+ Url : #{request.url}
+ Controller : #{con.to_s}
+ Action : #{action_name.capitalize}
+ SubPart Id : #{sub_part} +
+

Error Trace

+
+ #{error_trace_spans} +
+

Params

+
+ #{OrbitHelper.params} +
+ + " + + } + end + end diff --git a/app/models/site.rb b/app/models/site.rb index eda2909..ed4f3c7 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -3,6 +3,8 @@ class Site include Mongoid::Timestamps include Slug + DEBUG = false + field :title, as: :slug_title, type: String, localize: true field :school, type: String field :department, type: String