0

私はいくつかのマイナーな JSON オブジェクト (主に小さなリソースであり、空想は何もない) を返す小さな API を開発しましたが、API エンドポイントの 1 つを拡張して、現在あるもの以上のものを返す必要がある状況にあります。

例-現在、ルートには次のものがあります。

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 "

明らかに私は何か間違ったことをしています、LOL。

4

1 に答える 1

2

独自のツールを使用するのではなく、MetaSearchのようなツールを使用することを強くお勧めします。現在の実装は、SQLインジェクション攻撃の影響を非常に受けやすくなっています。

于 2012-04-20T19:23:14.757 に答える