Ruby on rails Rails通常作为HTML处理时作为JS处理

Ruby on rails Rails通常作为HTML处理时作为JS处理,ruby-on-rails,Ruby On Rails,在将文本字段作为静态SVG文件写入的过程中,出于某种原因,向控制器操作添加以下代码 @markeradhoc_new = Markeradhoc.create(text: params[:content][:characters], colour_text: @marker_text_colour, svg: adhoc_svg) @target = 'public/' + params[:content][:characters] + '.svg' f = File.

在将文本字段作为静态SVG文件写入的过程中,出于某种原因,向控制器操作添加以下代码

    @markeradhoc_new = Markeradhoc.create(text: params[:content][:characters], colour_text: @marker_text_colour, svg: adhoc_svg)
    @target = 'public/' + params[:content][:characters] + '.svg'

    f = File.new(@target, "w")
    f.write(@markeradhoc_new.svg)
    f.close
使rails以JS
的方式处理动作,由ContentsController#更新为JS
,而不使用有关
f
的块,它在HTML中按预期进行处理

为什么Rails会反弹到不同的渲染机制?这也能解释为什么文件没有被写入吗

Errno::ENOENT (No such file or directory @ rb_sysopen - public/cS.svg):

这可能是因为您正在发出XHR请求。您可以通过检查request.xhr?是真的。这可能是因为您正在发出XHR请求。您可以通过检查request.xhr?这是真的。