Как я могу использовать #map
, чтобы скрыть атрибут, если он nil
?
Условия не работают внутри блока, поэтому я попробовал это:
account_info = some_db_request
account_info.fields.map do |field|
{
id: field.id,
hidden: field.hidden
size: field.size
}
account_info
=> "{\"email\":\"admin@test.com\",\"name\":\"admin@test.com\",\"roles\":[\"admin\",\"user\"],\"fields\":[{:id=>3, :hidden=>"",size=>80},{:id=>3, :hidden=>"true",size=>80}],\"redirect_to\":[]}"
then I convert output in json
IОжидаемый:
"fields": [
{
"id": 3, # if hidden = ''
"size": 90
},
{
"id": 4,
"hidden": "true", if hidden = 'true'
"size": 190
}]
Но получил:
"fields": [
{
"id": 3,
"hidden" = ''
"size": 90
},
{
"id": 4,
"hidden": "true" if hidden = 'true'
"size": 190
}]
Как я могу получить ожидаемый результат?