我刚刚升级了我的宝石,回形针网址现已正确编码,%3F
用于亚马逊喜欢使用的?
。但是,这会在执行以下操作时中断用户的链接:
<a href="<%= client.document.url %>">Link</a>
现在我手动用%?替换%3F?通过使用gsub,我想知道我的代码中是否有错误,而不是在宝石或亚马逊方面。我的修复:
<%= client.document.url.gsub(/%3F/, "?") %>
还有其他我可以做或应该知道的事情吗?
答案 0 :(得分:3)
使用URI.unescape
:
<%= URI.unescape(client.document.url) %>
答案 1 :(得分:2)
这是Paperclip 4.2.1中的一个已知错误(请参阅问题#1706和#1732) - 网址中的?
会在不应该转义为%3F
时转移到gem 'paperclip', '4.2.0'
。
选项是将Paperclip固定到版本4.2.0(# config/initializers/paperclip.rb
Paperclip::Attachment.default_options[:use_timestamp] = false
),或暂时禁用网址的时间戳:
{
"NBanios": 5,
"NHabitaciones": 4,
"antiguedad": "asd",
"anuncioInmueble": {
"cp": "31927",
"descripcion": "la casa falete",
"direccion": "pocillogilvan",
"idInmueble": 1,
"latitud": -7.12367,
"longitud": 41.36360142022258,
"numero": "2",
"planta": "3",
"precio": 13.4,
"superficie": 5000,
"tipoAnuncio": "venta"
},
"certificado": 3,
"conservacion": "asd",
"idInmueble": 1,
"orientacion": "asd",
"tipoVivienda": "asd"
}
该错误由this commit引入。