Вот что я получаю:
*** NameError Exception: undefined local variable or method `null' for #<RSpec::ExampleGroups::EmptyContentValidation:0x00007fdd2d2775d8>
Вот что у меня есть в виде кода:
actual =
{
"posts": [
{
"id": 3,
"title": "Post 3"
}
],
"profile": {
"name": ""
},
"nulldata": {
"res": null
}
}
- Не знаю, почему
RSpec::ExampleGroups::EmptyContentValidation
выбрасывается при компиляции приведенного выше фрагмента json - Как избавиться от этого сообщения об ошибке (или отключить эту ошибку, которая не имеет отношения к делу)
0
Prashanth Sams
20 Окт 2019 в 10:31
1 ответ
Лучший ответ
Это не JSON, это хеш Ruby. А в Ruby нет null
, вместо этого вы используете nil
. Вы можете подтвердить все это, вставив в свой REPL:
actual =
{
"posts": [
{
"id": 3,
"title": "Post 3"
}
],
"profile": {
"name": ""
},
"nulldata": {
"res": null
}
}
Это вернет:
NameError: undefined local variable or method `null' for main:Object
Теперь измените его на nil
:
actual =
{
"posts": [
{
"id": 3,
"title": "Post 3"
}
],
"profile": {
"name": ""
},
"nulldata": {
"res": nil
}
}
Это вернет:
=> {
:posts => [
[0] {
:id => 3,
:title => "Post 3"
}
],
:profile => {
:name => ""
},
:nulldata => {
:res => nil
}
}
И вы даже можете подтвердить, что это не JSON (который является String
), а вместо этого является Hash
:
actual.class
=> Hash < Object
2
anothermh
21 Окт 2019 в 16:34
Похожие вопросы
Новые вопросы
ruby
Ruby - это многоплатформенный динамический объектно-ориентированный интерпретируемый язык с открытым исходным кодом. Тег [ruby] предназначен для вопросов, связанных с языком Ruby, включая его синтаксис и его библиотеки. Вопросы Ruby on Rails должны быть помечены [ruby-on-rails].