нет неявного преобразования символа в целочисленные рельсы 5.2.2.1 - PullRequest
1 голос
/ 26 мая 2020

Я попытался использовать retrofit2 для публикации на рельсах, чтобы отфильтровать некоторые данные из places params [: filter]:

[
    {
        "id"=>2,
        "name"=>"Cafe",
        "service_code"=>0
    },
    {
        "id"=>3,
        "name"=>"restaurant",
        "service_code"=>0
    }
]

, поэтому я хотел получить идентификатор с помощью простых params [: filter] [: id], но он возвращает no implicit conversion of Symbol into Integer спасибо за помощь и извините, если проблема кажется простой

1 Ответ

1 голос
/ 26 мая 2020

неявное преобразование символа в целое число (TypeError)

Это ошибка возникает в этом случае, потому что вы пытаетесь получить доступ к элементам в массиве, как это было быть ха sh. Ruby пытается преобразовать символ, который вы передаете в качестве параметра, методу [], потому что получатель является массивом, и массивы могут быть доступны для их элементов по их индексу.

Короче говоря, вы есть массив хэшей, если вам нужен идентификатор одного из них, фильтруйте элементы, пока не получите его, и там вы можете использовать ['id']:

[{ "id"=>2, "name"=>"Cafe", "service_code"=>0 },
 { "id"=>3, "name"=>"restaurant", "service_code"=>0 }][0]['id']
# 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...