- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
第一次看到这个问题。我正在构建一个 SQL 数组来运行 sanitize_sql_array 并且 Rails 在返回值中添加额外的、不必要的单引号。所以不要返回:
SELECT DISTINCT data -> 'Foo' from products
它返回:
SELECT DISTINCT data -> ''Foo'' from products
当然 Postgres 不喜欢。
代码如下:
sql_array = ["SELECT DISTINCT %s from products", "data -> 'Foo'"]
sql_array = sanitize_sql_array(sql_array)
connection.select_values(sql_array)
请注意,当我使用更短且更常用的时会发生同样的事情:
sql_array = ["SELECT DISTINCT %s from products", "data -> 'Foo'"]
connection.select_values(send(:sanitize_sql_array, sql_array))
以前见过这个吗?跟使用HStore有关系吗?我绝对需要清理该字符串,因为字符串 Foo 实际上来自用户输入的变量。
谢谢!
最佳答案
您给 sanitize_sql_array
一个包含 hstore 表达式的字符串,并期望 sanitize_sql_array
理解该字符串包含一些 hstore 内容;这要求太多了,sanitize_sql_array
只知道简单的东西,比如字符串和数字,它不知道如何解析 PostgreSQL 的 SQL 扩展甚至标准 SQL。例如,您希望 sanitize_sql_array
区分恰好包含 '11 * 23'
的字符串和应该表示算术表达式的字符串11 * 23
?
你应该将你的data -> 'Foo'
分成两部分,这样 sanitize_sql_array
在清理东西时只看到字符串部分:
sql_array = [ 'select distinct data -> ? from products', 'Foo' ]
sql = sanitize_sql_array(sql_array)
这将为您提供所需的 SQL:
select distinct data -> 'Foo' from products
关于ruby-on-rails - sanitize_sql_array 正在添加额外的、不必要的引号来查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12696727/
jQuery attributeContainsPrefix [name^="value"] 对比 attributeStartsWith [name|="value"] 实际区别是什么? 最佳答案
在1.1部分在RFC 6749中,有四种角色:资源拥有者、资源服务器、客户端和授权服务器。 如果客户端和资源所有者是同一实体,OAuth 是否变得多余或不必要? 例如,我有一个封闭的 API 和一个面
我有一段代码,其中有一个带有保护子句的 raise 语句: def validate_index index # Change to SizeError raise ArgumentError
我看到了这篇文章( JPA Entity Lifecycle Events vs database trigger ),但它并没有像我在这里那样明确地询问: 当我插入 PK 值为 (null) 的行时
所以,我有一段代码看起来像 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){ // Do something }
我是一名优秀的程序员,十分优秀!