Javascript 通过js.erb文件呈现Flash消息

Javascript 通过js.erb文件呈现Flash消息,javascript,ruby-on-rails,flash,render,Javascript,Ruby On Rails,Flash,Render,在我的Rails应用程序中,我想将控制器方法delete\u option(questions\u controller)中的flash消息呈现到部分\u edit.html.erb问题文件夹中。我有一个js文件delete_option.js.erb,我可以使用下面的行将编辑成功地呈现到id为edit_subquestion的div元素 $("#edit_subquestion").html("<%= escape_javascript(render(:partial => "ed

在我的Rails应用程序中,我想将控制器方法
delete\u option
questions\u controller
)中的flash消息呈现到部分
\u edit.html.erb
问题文件夹中。我有一个js文件
delete_option.js.erb
,我可以使用下面的行将编辑成功地呈现到id为
edit_subquestion
的div元素

$("#edit_subquestion").html("<%= escape_javascript(render(:partial => "edit")) %>");
我试图将方法
delete\u选项
中的flash消息呈现到上面的
div
元素,如下所示

<div id="flash_delete_option"></div>
if((<%=flash[:success]%>).length > 0)
    $("#flash_delete_option").html("<%= escape_javascript(render('<%=flash[:success]%>')) %>");
if(().length>0)
$(“#flash_delete_option”).html(“”);

我有语法错误。请帮助解决此问题。一切都按照答案进行了尝试。不明白。

您可以使用ruby在edit.js.erb文件中执行条件语句。此外,由于您位于escape_javascript中,因此不在其中调用render

<% if flash[:success] %>
    $("#flash_delete_option").html("<%= escape_javascript flash[:success]%>");
<% end %>

$(“#flash_delete_option”).html(“”);

杰西·沃尔加莫特:如果循环是问题所在。我修改了它。现在,它起作用了

<% unless flash[:success].blank? %>
    $("div .success").html("<%= escape_javascript (raw(flash[:success])) %>");
    $("div .success").show(200);
    $("div .success").click(function(){
        $("div .success").hide(200);
    });
<% end %>

$(“div.success”).html(“”);
$(“成功分部”)。展览(200);
$(“div.success”)。单击(函数(){
$(“部门成功”).hide(200);
});

这里没有语法错误。它必须在别处(请张贴语法错误)问题中的语法错误#删除选项显示/home/local/Rajesh/VX/app/views/Questions/delete#option.js.erb,其中第2行出现:编译错误/home/local/Rajesh/VX/app/views/Questions/delete#option.js.erb:2:语法错误,意外“;”。。。lash_delete_option“).html(“')@output#buffer.append=(escap…^提取的源代码(在第#2行附近):1:2:$(“#flash#u delete_option”).html(“”);3:4:5:请使用您当前的应用程序/视图/问题/删除选项.js.erb进行更新---它与我的不匹配。抱歉,我需要将它放在这里?如果您愿意,可以更新您的问题。或者粘贴指向要点的链接