2016-08-23 3 views
0

Я использую CGI::escape, однако он добавляет знак + между символом &. Это используется для отображения в электронном письме.cgi escape добавление плюс знак между амперсандом

Например: Tom & Jerry. Он возвращает Tom + & + Jerry. fb_em_share_subject столбец в базе данных

def email_share_subject 
    "#{CGI::escape fb_em_share_subject}" 
end 

В рельсах консоли

s = "Tom & Jerry" 
"Tom & Jerry" 

CGI::escape s 
"Tom+%26+Jerry" 
+0

Это не добавление '+' из-за символа '&'. Он добавляет его из-за космического характера. CGI-escape заменяет пространство '+'. – kiddorails

ответ

0

выяснял Util класса имеет метод url_encode.

ERB::Util.url_encode "Tom & Jerry" 
"Tom%20%26%20Jerry"