Доступ к данным внутри хеша / массива - PullRequest
0 голосов
/ 10 мая 2018

Здравствуйте, у меня есть следующий объект (упрощенно, например, ради)

object = { note_attributes: [{ name: "Order_Count", value: 2 }] }

Я ищу доступ именно к "Order_Count". Как мне это сделать в моем приложении rails?

Я пробовал note_attributes.name и note_attributes[name], но мне не повезло.

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Вы должны иметь возможность сделать note_attributes[0].name, чтобы получить к нему доступ

0 голосов
/ 10 мая 2018

У вас есть массив с одним хешем внутри. Таким образом, вам нужно получить доступ к первому элементу массива, чтобы получить ваш хеш-код: note_attributes[0] или note_attributes.first.

Тогда вы можете получить доступ к элементам внутри хеша. В этом случае ваши ключи - это символы, которые выглядят так: :name.

Рубиновые хэши выглядели так: { :name => "Order_Count" }, но теперь вы можете использовать двоеточие вместо стрелки. Ruby делает его особенно приятным, когда вы используете символ в качестве ключа, и позволяет вам: { name: "Order_Count" } (это то, что вы сделали).

Итак, чтобы получить атрибут с ключом :name из хеша в вашем массиве, вы должны сделать это:

note_attributes[0][:name]

или

note_attributes.first[:name]
0 голосов
/ 10 мая 2018

object[:note_attributes][0][:name]

Обновление из-за комментариев:

object.note_attributes[0].name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...