2012-05-14 4 views
2

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&amp;Mine 대신 Me&Mine을 어떻게 표시합니까?

+0

& &을 원하십니까? Javascript가 작동합니까? 또한 귀하의 질문을보십시오, &으로 질문에 앰퍼샌드를 벗어나고 & amp ;이 아니라 도피해야 할 수도 있습니다. –

답변

2

html_safe을 사용해 보셨습니까?

+0

이것은 참으로 application_helper.rb 파일에서 찾을 수있는 도우미입니다. "특수 문자"를 html 출력으로 렌더링합니다. "원시"메서드보다 훨씬 더 깨끗합니다. – dennis

+0

@ Marlin 피어스 코드가 올바르게 작동하고 예 & 아니 & –

+0

@Michael Kohl 정확하게 html_safe 명령을 배치 할 위치에서 $ ("# 3") text ("<% = 이스케이프 _Javascript 렌더링 (부분"> "var") %> ")를 시도했습니다 .html_safe 하지만 작동하지 않았다 –

0

변환이 :

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

에 :

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

하고 잘 작동합니다.

서식을 지정하지 않은 일반 텍스트 인 "텍스트"를 사용할 때 "&"을 렌더링 할 수 없으므로 원시 양식이 인쇄되기 때문입니다. 그러나 HTML을 사용하면 마크 업/포맷으로 렌더링됩니다.

관련 문제