热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RAILSJSON在字符串中保留反斜杠-RAILSJSONkeepbackslashinstring

Ihavethislineinmyviewform:我在视图中有这一行:<%hidden_field_tagng_b2b_configuration[value][e

I have this line in my view form:

我在视图中有这一行:

<%= hidden_field_tag "ng_b2b_configuration[value][endpoints][][patterns][]", raw(".+\\\\.runsheet\\\\..+") %>

it will produce the result:

它会产生结果:

"patterns":[".+\\.runsheet\\..+"]

which is not the one that i really want. My question is how to keep the backslash after save in my db?

这不是我真正想要的那个。我的问题是如何在我的数据库中保存后保留反斜杠?

This is exactly what i want: "patterns":[".+\.runsheet\..+”]

这正是我想要的:“模式”:[“。+ \。runsheet \ .. +”]

I've try with this: <%= hidden_field_tag "ng_b2b_configuration[value][endpoints][][patterns][]", raw(".+\\\\.runsheet\\\\..+"), class: "val_runsheet_all" %> and the result: "patterns":[\".+\\.runsheet\\..+\”]

我试过这个:<%= hidden_​​field_tag“ng_b2b_configuration [value] [endpoints] [] [patterns] []”,raw(“。+ \\\\。runsheet \\\\ .. +”),类:“val_runsheet_all”%>和结果:“patterns”:[\“。+ \\。runsheet \\ .. + \”]

UPDATE 1

Here is the html output:

这是html输出:


1 个解决方案

#1


1  

value=".+\.runsheet\..+" in the HTML will end up as '.+\.runsheet\..+' in Ruby so you're being confused somewhere. Nothing you do will (without trickery) will give you a string like:

HTML中的value =“。+ \。runsheet \ .. +”将在Ruby中以'。+ \。runsheet \ .. +'结尾,因此您在某处感到困惑。你没做什么(没有欺骗)会给你一个字符串,如:

".+\.runsheet\..+"

in Ruby or JSON. Backslashes have special meaning in both Ruby double quoted strings and JSON formatted strings. Neither one needs a backslash to escape a . so neither will put it there. But because \ has a special meaning as an escape character in both Ruby double quoted strings and JSON, a single \ will look like \\ because both have to escape the special mean of \ by, well, escaping the escape character.

在Ruby或JSON中。反斜杠在Ruby双引号字符串和JSON格式字符串中都有特殊含义。两个人都不需要反斜杠来逃避。所以两者都不会把它放在那里。但是因为\在Ruby双引号字符串和JSON中具有特殊含义作为转义字符,单个\将看起来像\ \因为两者都必须通过转义逃逸字符来逃避\的特殊意义。

Go into irb and say:

进入irb并说:

puts ".+\.runsheet\..+"

and see what you get. Then say:

看看你得到了什么。然后说:

puts ".+\\.runsheet\\..+"

and see what you get. The first will give you:

看看你得到了什么。第一个会给你:

.+.runsheet..+

and the second:

第二个:

.+\.runsheet\..+

Then you can throw in some to_json calls (again using puts to see the results so that you avoid the escaping that inspect will use) and you'll see similar things happening.

然后你可以抛出一些to_json调用(再次使用puts来查看结果,这样你就可以避免check将使用的转义)并且你会看到类似的事情发生。


推荐阅读
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
author-avatar
zackcoolgirl_497
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有