为 API 连接设置条件属性
Posted
技术标签:
【中文标题】为 API 连接设置条件属性【英文标题】:setting conditional attributes for API connection 【发布时间】:2022-01-20 04:35:57 【问题描述】:一个方法需要实例化一个带有各种属性的会话,其中一些是可选的
session = Checkout::Session.create(
locale: I18n.locale,
reference_id: id,
customer_email: @user_mail,
[...]
)
最后显示的属性customer_email
是可选的,但如果值不存在,则不应生成它。
customer_email: @user_mail unless !@user_email,
逻辑上遇到语法错误,因为正在生成额外的参数(逗号)
syntax error, unexpected ',', expecting end
因此 API 需要另一个属性。
(customer_email: @user_mail, unless !@user_email)
也失败了,因为括号混淆了
syntax error, unexpected ')', expecting then or ';' or '\n'
这个语法应该如何转换?
【问题讨论】:
【参考方案1】:您需要将选项哈希提取到变量中并对其进行操作,然后再将其发送到Checkout::Session.create
。
类似这样的:
options =
locale: I18n.locale,
reference_id: id
options[:customer_email] = @user_mail if @user_email
session = Checkout::Session.create(options)
【讨论】:
以上是关于为 API 连接设置条件属性的主要内容,如果未能解决你的问题,请参考以下文章
授权为桌面应用程序时如何设置 Facebook 聊天 API 连接