我开发了一个小的 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¶m_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 "
显然我做错了什么,大声笑。