我目前正在使用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
时,永远不会设置该值,这适用于我尝试设置的任何嵌套值。
我是否以错误的方式设置此值?还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
我猜他们的宝石不允许更新孩子的属性。
我的解决方法是像这样创建定位哈希:
targeting = {
age_min: 20
}
创建散列后,只需将其设置为对象,如下所示:
adset.targeting = targeting
最后:
adset.save