このことを考慮:
<%
str = "http://domain.com/?foo=1&bar=2"
%>
今これらの場合:
<%=str%>
# output:http://domain.com/?foo=1&bar=2
<%=str.html_safe%>
# output:http://domain.com/?foo=1&bar=2
<%="#{str.html_safe}"%>
# output:http://domain.com/?foo=1&bar=2
<%=""+str.html_safe%>
# output:http://domain.com/?foo=1&bar=2
他の文字列と一緒にURLを出力する必要があります。アンパサンドがエスケープされないことをどのように保証できますか?私のコントロールが及ばない理由で、私は送ることができません&
。
助けてください!ここで私の髪を引っ張る:\
編集:明確にするために、私は実際に次のような配列を持っています:
@images = [{:id=>"fooid",:url=>"http://domain.com/?foo=1&bar=2"},...]
image_array
この方法でアプリで使用するJS配列(var)を作成しています:
image_array.push(<%=@images.map{|x|"{id:'#{x[:id]}',url:'#{x[:url].html_safe}'}"}.join(",")%>);
これにより、以下が生成されます。
image_array.push({id:'fooid',url:'http://domain.com/?foo=1&bar=2'},...);
これは私の特定のケースでは機能しません。url
パーツなしで必要amp;
です。