我有以下内容:
myObject = {
id: user.id,
email: user.email,
}
我需要像这样添加值:
if current_user && current_user.id == user.id
myObject << {
notification_email: user.notification_email,
notification_email2: user.notification_email2
}
end
上面的代码会引发错误。
可选择将值附加到对象的正确方法是什么?
错误
未定义的方法`&lt;&lt;&lt;为#你的意思? &LT;
答案 0 :(得分:7)
也许你想要Hash#merge
。
myObject.merge(
notification_email: user.notification_email,
notification_email2: user.notification_email2
)
如果您想要副作用,请使用撞击版本。
myObject.merge!(
notification_email: user.notification_email,
notification_email2: user.notification_email2
)
答案 1 :(得分:4)
myObject
是哈希,因此要添加新项目,您可以执行以下操作:
if current_user && current_user.id == user.id
myObject[:notification_email] = user.notification_email
myObject[:notification_email2] = user.notification_email2
end