在我的Rails应用程序中,我想将控制器方法delete_option
(questions_controller
)中的flash消息呈现给部分_edit.html.erb
内部问题文件夹本身。我有一个js文件delete_option.js.erb
,我可以使用下面的行成功地将编辑渲染为ID为edit_subquestion
的div元素。
$("#edit_subquestion").html("<%= escape_javascript(render(:partial => "edit")) %>");
我在_edit.html.erb
中放了一个div元素来渲染flash消息,如下所示。
<div id="flash_delete_option"></div>
我正在尝试将方法delete_option
中的Flash消息呈现给上面的div
元素,如下所示。
if((<%=flash[:success]%>).length > 0)
$("#flash_delete_option").html("<%= escape_javascript(render('<%=flash[:success]%>')) %>");
我收到语法错误。请帮忙解决这个问题。一切都按照答案进行了尝试。没有得到它。
答案 0 :(得分:2)
您可以使用ruby在edit.js.erb文件中执行条件。此外,由于您在escape_javascript中,因此不会在那里调用render。
<% if flash[:success] %>
$("#flash_delete_option").html("<%= escape_javascript flash[:success]%>");
<% end %>
答案 1 :(得分:0)
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 %>