Angular.js允许我从客户端干净地查询服务器资源并传递参数,我想限制我查询服务器资源的方式。
但是,为了在服务器上实际处理这些参数,我需要编写一堆代码来安全地使用这样的查询,然后将其转换为Rails查询。
是否有任何好的gem可以轻松地让您通过REST以安全可控的方式公开查询数据库的丰富方式?
答案 0 :(得分:0)
我不这么认为,我认为这不是一个好主意。
快速的方法是(Rails 4):
# very important!
white_list = [:age, :country, :gender]
query = User.all
params.slice(*white_list).each do |key, value|
query = query.where(key => value)
end
当你想要调用现有的scope
而不是基本的where
时会出现歧义,但是没有明显的方法来抽象它,所以你应该编写一些代码。