0

我开发了一个小的 API,它返回一些小的 JSON 对象(主要是小资源,没什么特别的),但是我需要扩展一个 API 端点以返回比当前更多的东西。

例如 - 目前,我的路线中有以下内容:

resources :school_types do
        resources :schools
      end

因此,如果用户访问/api/v1/school_types/1/schools.json整个学校列表,则会根据school_type_id

好吧,我现在想更进一步并执行以下操作: /api/v1/school_types/1/schools.json?param_1=foo&param_2=bar

因此,当我构造ActiveRecord调用时,它会根据传入的参数动态生成 SQL 查询。

这是我到目前为止所拥有的:

conditions = ""
      params.except(:controller, :format, :action).each_with_index do |value, index|
        conditions << "#{params[index]} = #{value} AND "
      end 

这是条件变量输出:" = [\"state_id\", \"1\"] AND = [\"district_id\", \"1\"] AND = [\"school_type_id\", \"1\"] AND "

显然我做错了什么,大声笑。

4

1 回答 1

2

我强烈建议使用MetaSearch 之类的工具,而不是自己动手。您当前的实现很容易受到 SQL 注入攻击。

于 2012-04-20T19:23:14.757 回答