如何仅显示 Twilio 错误消息的描述部分?
How to show only description part of Twilio error message?
在 Twilio 错误响应中,我们将错误代码和网站地址作为字符串。我需要向用户显示错误的唯一描述部分,而不是整个错误。如何在我的 rails 应用程序中执行此操作?
begin
client = Twilio::REST::Client.new(
Rails.application.credentials.twilio[:sid],
Rails.application.credentials.twilio[:token]
)
client.messages.create(
from: Rails.application.credentials.twilio[:number],
to: "+#{account.country_code}#{account.phone_number}",
body: "#{before} #{verification_code} #{after}"
)
rescue Twilio::REST::TwilioError => e
puts e
puts e.message
return errors.add(:message, e.message) if e.message
end
此代码给我以下格式的错误:
消息 [HTTP 400] 21211:无法创建 record\nThe 'To' 号码 +XXXXXXX 不是有效的 phone 号码。\nhttps://www.twilio。 com/docs/errors/21211\n\n
我要找的是这个:
无法创建 record\nThe 'To' 号码 +XXXXXXX 不是有效的 phone 号码。
你所要做的就是编写你的所有者错误方法,比如
error_message = "#{e.error_message}\n#{e.detail}\n#{e.more_info}"
errors.add(:message, error_message)
此处为 Twilio 开发人员布道师。
库中公开的来自 API 的错误消息是针对开发人员而非最终用户的。我不会依赖它们为您的用户提供良好的体验。
相反,我建议您检查可能收到的错误,例如您在此处使用的 21211 错误示例,并为它们编写您自己的错误消息。然后你应该检查错误的 code
以获得正确的错误。如果您也来本地化您的应用程序,这会更好。
示例:
TWILIO_ERROR_MESSAGES = {
"21211" => "The number you are sending the message to does not appear to be valid."
}
begin
client = Twilio::REST::Client.new(
Rails.application.credentials.twilio[:sid],
Rails.application.credentials.twilio[:token]
)
client.messages.create(
from: Rails.application.credentials.twilio[:number],
to: "+#{account.country_code}#{account.phone_number}",
body: "#{before} #{verification_code} #{after}"
)
rescue Twilio::REST::TwilioError => e
message = TWILIO_ERROR_MESSAGES[e.code]
return errors.add(:message, message)
end
如果这有帮助,请告诉我。
在 Twilio 错误响应中,我们将错误代码和网站地址作为字符串。我需要向用户显示错误的唯一描述部分,而不是整个错误。如何在我的 rails 应用程序中执行此操作?
begin
client = Twilio::REST::Client.new(
Rails.application.credentials.twilio[:sid],
Rails.application.credentials.twilio[:token]
)
client.messages.create(
from: Rails.application.credentials.twilio[:number],
to: "+#{account.country_code}#{account.phone_number}",
body: "#{before} #{verification_code} #{after}"
)
rescue Twilio::REST::TwilioError => e
puts e
puts e.message
return errors.add(:message, e.message) if e.message
end
此代码给我以下格式的错误:
消息 [HTTP 400] 21211:无法创建 record\nThe 'To' 号码 +XXXXXXX 不是有效的 phone 号码。\nhttps://www.twilio。 com/docs/errors/21211\n\n
我要找的是这个:
无法创建 record\nThe 'To' 号码 +XXXXXXX 不是有效的 phone 号码。
你所要做的就是编写你的所有者错误方法,比如
error_message = "#{e.error_message}\n#{e.detail}\n#{e.more_info}"
errors.add(:message, error_message)
此处为 Twilio 开发人员布道师。
库中公开的来自 API 的错误消息是针对开发人员而非最终用户的。我不会依赖它们为您的用户提供良好的体验。
相反,我建议您检查可能收到的错误,例如您在此处使用的 21211 错误示例,并为它们编写您自己的错误消息。然后你应该检查错误的 code
以获得正确的错误。如果您也来本地化您的应用程序,这会更好。
示例:
TWILIO_ERROR_MESSAGES = {
"21211" => "The number you are sending the message to does not appear to be valid."
}
begin
client = Twilio::REST::Client.new(
Rails.application.credentials.twilio[:sid],
Rails.application.credentials.twilio[:token]
)
client.messages.create(
from: Rails.application.credentials.twilio[:number],
to: "+#{account.country_code}#{account.phone_number}",
body: "#{before} #{verification_code} #{after}"
)
rescue Twilio::REST::TwilioError => e
message = TWILIO_ERROR_MESSAGES[e.code]
return errors.add(:message, message)
end
如果这有帮助,请告诉我。