【发布时间】:2016-07-19 14:29:35
【问题描述】:
我正在构建一个过滤器类来构造特殊的 sql 查询。它是一个服务类,而不是一个模型,并且没有基础表。
我想在将输入嵌入到 sql 时对其进行清理,以防止注入。
这些方法正是我想要的:http://api.rubyonrails.org/classes/ActiveRecord/Sanitization/ClassMethods.html
但是,使用include ActiveRecord::Sanitization 不起作用。当我打电话给sanitize_sql_array 时,它会抱怨:
Undefined local variable or method `connection` Applications::ApplicationFilter:Class
这似乎是某种依赖问题。当我使用Applications::ApplicationFilter < ActiveRecord::Base 从 AR 继承我的过滤器类时,它就可以工作了。但我不想这样做..拜托..拜托拜托
有谁知道如何在不继承整个大块 activerecord rhinoserous 的情况下使这个 sanitize_sql_array 方法可用?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord