ruby-on-rails - 设置一个等于自身的变量,除非它不存在

标签 ruby-on-rails ruby variables

我现在正在解析 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/

相关文章:

ruby-on-rails - 我如何调用 Rake 中的另一个任务

ruby - "prototyping"在实践中意味着什么?

Python:如何在没有错误的情况下引用可选变量

ruby-on-rails - 为什么 HABTM 上的 "validate"选项不起作用?

javascript - Stripe 用户 token 问题

ruby - Amazon Polly 直接到 S3

c++ - C++ 中的存储分配语句

javascript - 如何找出特定变量从哪里来?

ruby-on-rails - 使用葡萄实体将参数传递给模型方法

ruby-on-rails - 如何正确构建带参数的 URI?