我正在使用Rails 4.2和Postgres 9.4来尝试新的JSONB数据类型.我的数据库中的一个JSONB列包含一个数组,我希望能够查询此数组包含特定值的记录.我想出了如何使用新的JSONB"问号"("包含")运算符来完成此操作,如下所示:http: //www.postgresql.org/docs/9.4/static/functions-json.html
所以在原始SQL中我可以像在这个例子中那样工作:
SELECT * FROM people WHERE roles ? '32486d83-4a38-42ba-afdb-f77ca40ea1fc';
Run Code Online (Sandbox Code Playgroud)
但我无法通过ActiveRecord看到从Rails中进行此查询的任何方法.我尝试使用"where"方法进行原始查询,如下所示:
Person.where("roles ? ?", "32486d83-4a38-42ba-afdb-f77ca40ea1fc")
Run Code Online (Sandbox Code Playgroud)
但由于问号是用于替换参数的特殊字符,我收到此错误:
ActiveRecord :: PreparedStatementInvalid:在:roles中错误的绑定变量数(1为2)??
我想我需要一种方法来逃避"?" 因为我希望它从字面上传递出来.我试过了 \?和?? 没有运气.任何帮助表示赞赏!
在Android上指定文本大小时,建议最佳做法是使用sp字体单位而不是dp,因为sp文本将根据用户的显示首选项增加/减小大小.例如,在我的设备上,我可以去
设置 - >显示 - >字体
并选择一个偏好:小,正常,大,巨大(虽然这些似乎因设备而异).
有没有人知道在Android Studio的布局预览中预览此首选项的效果的方法?它比为了测试而部署到设备/模拟器更容易.我看不到这个选项,但也许我错过了它.
相关:最大("巨大")字体首选项等于什么的标准乘数?或者,这甚至会因设备而异吗?如果文本的大小没有上限,我问题的第一部分可能没有实际意义.