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

在我的Rails应用程序中,我想将我的控制器方法delete_optionquestions_controller )中的flash消息呈现到questions文件夹本身内的部分_edit.html.erb 。 我有一个js文件delete_option.js.erb ,我可以使用下面的行成功地将编辑渲染到具有id edit_subquestion的div元素。

 $("#edit_subquestion").html(" "edit")) %>"); 

我在_edit.html.erb放了一个div元素来渲染flash消息,如下所示。

 

我试图将方法delete_option的flash消息呈现给上面的div元素,如下所示。

 if(().length > 0) $("#flash_delete_option").html("<%= escape_javascript(render('')) %>"); 

我收到语法错误。 请帮忙解决这个问题。 一切都按照答案进行了尝试。 没有得到它。

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

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

Jesse Wolgamott:如果循环是问题。 我修改了它。 现在,它的工作。

 < % 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 %>