ruby-on-rails - 转义 ruby​​ 字符串中的特殊字符以匹配 Salesforce SOQL 要求

标签 ruby-on-rails ruby salesforce

我正在为 Rails 应用程序开发 Salesforce 集成,我遇到了一个问题,即搜索/提交包含特殊字符(如“+”)的电子邮件的联系人。

在 Salesforce 文档中,他们提到某些字符是保留的,并且需要在每个保留字符之前插入一个“\”。详情:https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_find.htm

鉴于“\”用于在 Ruby 中转义字符,我无法在不遇到 Salesforce API 问题的情况下将“\”添加到保留字符。对于那些为 Rails 实现了 Salesforce 集成的人,你们是如何解决电子邮件中保留字符的问题的?谢谢!

最佳答案

你应该转义特殊字符 ? & | ! { } [ ] ( ) ^ ~ * :\"' + - 在你的字符串中这样

"email+special@example.net".gsub(/(\?|&|\||\!|\{|\}|\[|\]|\(|\)|\^|\~|\*|\:|\\|\"|\'|\+|\-)/){|special| "\\" + special }

关于ruby-on-rails - 转义 ruby​​ 字符串中的特殊字符以匹配 Salesforce SOQL 要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44705778/

相关文章:

ruby-on-rails - RuntimeError : Declare either attr_protected or attr_accessible for User, 但不是两者

ruby-on-rails - 我可以让 Heroku Logs 仅返回概述错误的行吗?

ruby - 在 Ruby 中按名称获取类

node.js - Salesforce 不遵守提示选项

ruby-on-rails - 检查日期是否超过一天、超过一年等?

ruby-on-rails - 如何在 Rails 中为 Mechanize 设置自定义用户代理

javascript - 允许用户通过网络摄像头直播

Ruby 用数字和范围制作一个数组

soap - Salesforce:使用 Apex 触发 SOAP 出站消息

salesforce - 如何使面板网格内的页面 block 标题跨越页面 block 的整个宽度?