我现在正在解析 Linkedin API,您可以请求各种字段及其值。有时用户对某个字段有值,有时则没有。
例如,如果用户没有输入电话号码,Linkedin 将不会返回电话号码字段。
Linkedin 请求示例
email, firstName, lastName, phoneNumber
来自 Linkedin 的示例响应:
{"email"=>"test@example.com", "firstName"=>"Brian", "lastName"=>"Weinreich"}
所以,我请求了 4 个东西:email、firstName、lastName、phoneNumber
,它只返回 3 个东西。我想知道是否有更快/更有效的方法来将变量设置为等于这些值,具体取决于它们是否存在。
这就是我正在做的......但它似乎是多余的。
@user.email = profile['emailAddress'] ? profile['emailAddress'] : ""
@user.phone_number = profile['phoneNumber'] ? profile['phoneNumber'] : ""
@user.first_name = profile['firstName'] ? profile['firstName'] : ""
@user.last_name = profile['lastName'] ? profile['lastName'] : ""
最佳答案
@user.email = profile['emailAddress'] || ""
@user.phone_number = profile['phoneNumber'] || ""
@user.first_name = profile['firstName'] || ""
@user.last_name = profile['lastName'] || ""
关于ruby-on-rails - 设置一个等于自身的变量,除非它不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15480251/