请查看以下示例:
UserAccess.where("action = ? AND resource = ? ", 'index', 'logs')
我们面临的问题是列操作和数据库表中的资源有空格。为了使这种比较有效,我们必须首先调整行动和资源。我们尝试了功能修剪(),它似乎无法正常工作。有没有办法在将它们放在rails SQL中进行比较之前修剪列?理想情况下,解决方案不是特定于db引擎的,即使我们使用的是sqlite3。
感谢您的帮助。
答案 0 :(得分:2)
trim()
应该有效,并且不区分大小写:
UserAccess.where("TRIM(action) = ? AND TRIM(resource) = ? ", 'index', 'logs')
另请注意,如果在插入UserAccess表之前剥离空格,事情会更清晰。