3

在我的index.html.erb页面中,当从 MSSQL 查询数据时,它会显示为 Me&Mine. 我试过这个:

$("#3").text("<%= escape_javascript(raw render(:partial => "var") %>");

但它不起作用。

index.html.erb :

<%= link_to "Link", {:action => "AjaxView",:col => "colname"}, 
        :update => "Ajaxcall", :remote => true %>
<tr>
<td id="#3" style="height:25px">data displayed here</td>

控制器:

def AjaxView
  @vars= Var.find(:all,:conditions => { :varName=> "one" },:select=>(params[:col]))
  respond_to do |format|
    format.js { render :layout=>false }
  end
end

AjaxView.js.erb:

 if ( @col.to_s == "colName") {
   $("#3").text("<%= escape_javascript(render(:partial => "var") %>");
 }
 elsif ( @col.to_s == "colName1")
 {
   $("#2").text("<%= escape_javascript(render(:partial => "var") %>");
 }

_var.html.erb:

<%= var.col1 %>

我怎样才能显示Me&Mine而不是Me&amp;Mine

4

2 回答 2

6

你试过在上面使用html_safe吗?

于 2012-05-14T10:49:40.533 回答
0

转换这个:

$("#3").text("<%= escape_javascript(raw render(:partial => "var") %>");

到:

$("#3").html("<%= escape_javascript(raw render(:partial => "var") %>");

它会正常工作。

这是因为当您使用没有任何格式的纯文本“文本”时,它无法呈现“&”并打印其原始形式。但是使用 HTML 会用标记/格式呈现它。

于 2018-02-21T10:27:25.893 回答