Как установить значение вложенных свойств для объекта FacebookAds::AdSet

В настоящее время я использую https://github.com/facebook/facebook-ruby-business-sdk для управления рекламой в Facebook.

Я написал метод для обновления FacebookAds::AdSet объект.

# Fetch the adset
adset = FacebookAds::AdSet.get(source_adset_id, session)

# Set the new name
adset.name = 'Test name'

# Save the Adset
adset.save

Это работает и устанавливает имя, но если я попытаюсь установить вложенное свойство следующим образом:

adset = FacebookAds::AdSet.get(source_adset_id, session)

# Set the new minimum age 
adset.targeting.age_min = 20

# this is the adset's new min age (should be 20)
p adset.age_min
#=> 18

# Save the Adset
adset.save

Когда я установил adset.targeting.age_min значение никогда не устанавливается, это относится ко всем вложенным значениям, которые я пытаюсь установить.

Я устанавливаю это значение неправильно? Есть ли другой способ подойти к этому?

1 ответ

Я думаю, что их драгоценность не позволяет обновить атрибуты ребенка.

Мой обходной путь - создание хэша таргетинга следующим образом:

targeting = {
    age_min: 20
}

Как только вы создали свой хеш, просто установите его для объекта следующим образом:

adset.targeting = targeting

И наконец:

adset.save
Другие вопросы по тегам