في مثالك، لنفترض أنك تريد التحقق من مجموعات المشرفين والمديرين، يجب أن يكون لديك:
مفتاح: group_name
قيمة: moderators,admins
أمور تقنية للمساعدة، لا تهتم بي.
حاولت الفهم بالنظر إلى الكود، وأعتقد أن هناك مشكلة هنا:
يتم تحويل المعلمات قبل استدعاء run_query.
لنفترض أن لديك هذه القيمة الأصلية: [{"key":"group_names","value":"admins,moderators"}]
ستكون القيمة المحولة: [{"key"=>"group_names", "value"=>"admins,moderators"}=>nil]
ومع ذلك، يبدو أن cast_params يتوقع {"group_names"=>"admins,moderators"}
حاولت اختبار هذا التغيير البسيط، وعملت المعلمات.
def self.params_to_hash(query_params)
params = JSON.parse(query_params)
params_hash = {}
params.each do |param|
key = param["key"]
value = param["value"]
params_hash[key] = value
end
params_hash
end