一個方法需要實體化一個具有各種屬性的會話,其中一些是可選的
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'
這個語法應該如何轉換?
uj5u.com熱心網友回復:
您需要將選項哈希提取到一個變數中并在將其發送到Checkout::Session.create.
像這樣的東西:
options = {
locale: I18n.locale,
reference_id: id
}
options[:customer_email] = @user_mail if @user_email
session = Checkout::Session.create(options)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/384603.html
標籤:红宝石轨道
上一篇:Heroku在構建程序中失敗并顯示錯誤:NodeSass尚不支持您當前的環境:Linux64位且運行時不受支持(93)
