diff --git a/ext/widget_renderer/lib/widget_renderer.rb b/ext/widget_renderer/lib/widget_renderer.rb index c6cd72a44..3d27310a7 100644 --- a/ext/widget_renderer/lib/widget_renderer.rb +++ b/ext/widget_renderer/lib/widget_renderer.rb @@ -112,4 +112,16 @@ puts "WidgetRenderer: Initializing Rutie with path: #{path}" -Rutie.new(:widget_renderer).init 'Init_widget_renderer', path +# Only initialize Rutie if we found the native library +if found_path + begin + Rutie.new(:widget_renderer).init 'Init_widget_renderer', path + puts "WidgetRenderer: Rust extension loaded successfully" + rescue Fiddle::DLError => e + puts "WidgetRenderer: Failed to load native library: #{e.message}" + puts "WidgetRenderer: Rust extension will not be available, falling back to ERB" + end +else + puts "WidgetRenderer: Native library not found, Rust extension will not be available" + puts "WidgetRenderer: Form rendering will use ERB fallback" +end