代码之家  ›  专栏  ›  技术社区  ›  VP.

如何在JS呈现部分中传递HTML安全字符串

  •  4
  • VP.  · 技术社区  · 15 年前

    我有一个Rails2.3.9应用程序要迁移到Rails3。

    和几乎所有人一样,我在渲染字符串时遇到了问题,特别是内联的jquery脚本。以前,有人告诉我,在Rails3中,它改变了,我现在不能重写所有脚本。我会做的,它会被安排,但现在,我想让它工作。

    我的问题是:

    我有一个带以下代码的控制器

    respond_to do |format|
     format.js { render :partial=>'update'}
     format.html { head 406 }
    end
    

    my'u update.js.erb在js和erb之间有一个混合体:

    <% if MyClass.count > 0 %>
     $('.show_object:visible').hide();
    <%else%>
      if($('.show_object').css('display') == 'none'){
       $('.show_object').blink({times: 7})
      }
    <%end%>
    

    它在Rails 2.3.9中工作,但在Rails 3中不工作。我的问题是:

    • 我应该在jquery周围打个HTML安全电话吗?
    • 控制器中有一种方法可以将整个部分标记为HTML安全?
    1 回复  |  直到 15 年前
        1
  •  2
  •   VP.    15 年前

    format.js { 
     render :js=> { render_to_string(:partial=>'update').html_safe!}
    }