request_url ||= URI_FORMATS[:home_page] % {
base_uri: AppConfig.test_api['base_url'],
end_point: AppConfig.test_api['end_points']['home_page'],
client_id: AppConfig.test_api['client_id'],
}
Run Code Online (Sandbox Code Playgroud)
为此,我收到了超过 String#% rubocop 错误的 Favor 格式。任何想法如何解决这个问题。我刚刚在这里解决了错误的原因
https://quynhcodes.wordpress.com/2017/03/29/string-interpolation-in-ruby/
Run Code Online (Sandbox Code Playgroud)
但我在这里没有使用任何字符串插值。
那么我们如何解决这个问题。?
首先,这不是关于字符串插值,而是关于字符串格式。该rubocop红宝石风格指南说:
赞成使用
sprintf及其别名format而不是相当神秘的String#%方法。
这将意味着改变
request_url ||= URI_FORMATS[:home_page] % {
base_uri: AppConfig.test_api['base_url'],
end_point: AppConfig.test_api['end_points']['home_page'],
client_id: AppConfig.test_api['client_id'],
}
Run Code Online (Sandbox Code Playgroud)
到
request_url ||= format(
URI_FORMATS[:home_page],
base_uri: AppConfig.test_api['base_url'],
end_point: AppConfig.test_api['end_points']['home_page'],
client_id: AppConfig.test_api['client_id'],
)
Run Code Online (Sandbox Code Playgroud)