У меня есть файл json, как показано ниже names.json
. Когда вы добавляете URL /list?name=Canada
или /list?name=CANADA
в верхний или нижний регистр, я хочу проверить, находится ли param[:name]
внутри names.json
файла, и выдать ошибку, если его там нет.
[
{
"id": 1,
"name": "Canada"
},
{
"id": 17,
"name": "Denmark"
},
{
"id": 23,
"name": "Austria"
}
]
Вот что я сделал, но не сработало… ..
контроллер / касается
require 'json'
JSON_NAMES = 'names.json'.freeze
module NameFileLoader
class JsonLoader
def self.json_data_hash
file = File.read(JSON_NAMES)
JSON.parse(file)
end
end
end
name_controller.rb
def check_name_validity_in_file
data = NameFileLoader::JsonLoader.json_data_hash
name = data.each { |item| item['name'] } # The problem is here.
if name.include?(params[:name])
{ errorCode: 400, message: 'Name provided is not valid' }
end
end