我遇到的问题是&从URL参数中提取时,表单文本字段中缺少字符。其他字符似乎很好,例如引号“。
<%= text_field_tag "v0", params["v0"] %>
当我使用'r&amp; r'时,它在URL中显示为'r%26r',但最终在文本字段中显示为'rr'。
v0=r%26r
我尝试过使用URI.unescape,它在文本字段中执行相同的放置'rr'。
<%= text_field_tag "v0", URI.unescape(params["v0"]) %>
我知道现在没有考虑到零。我只需要保留那个&amp;文本字段中的字符。
答案 0 :(得分:0)
Rails会自动为您解码GET和POST值。删除URI.unescape,您的代码应该可以正常工作。
RoR docs(http://guides.rubyonrails.org/action_controller_overview.html#parameters)提到这一点:
此示例中的实际网址将编码为&#34; / clients?ids%5b%5d = 1&amp; ids%5b%5d = 2&amp; ids%5b%5d = 3&#34;作为&#34; [&#34;和&#34;]&#34; URL中不允许使用字符。大多数情况下,您不必担心这一点,因为浏览器会为您编码,而 Rails会自动对其进行解码,但如果您发现自己必须将这些请求发送到手动服务器,你应该记住这一点。