我正在使用rubocop检查我的代码并获取此代码的警告:
def questions_from_time_by_page(t, pagesize, page)
"#{@base_url}questions?pagesize=#{pagesize}&page=#{page}&fromdate=#{t}&site=stackoverflow&key=#{@key}"
end
lib / stackify.rb:99:81:C:行太长。 [八十零分之一百〇八] "#{@ BASE_URL}问题页面大小=#{页面大小}&放大器;页=#{PAGE}&安培;没有fromdate =#【T}&安培;现场=计算器和放大器;关键=#{@键}"
重写它的最佳方法是什么?
将行拆分为多行?
def questions_from_time_by_page(t, pagesize, page)
"#{@base_url}questions?pagesize=#{pagesize}&page=#{page}" +
"&fromdate=#{t}&site=stackoverflow&key=#{@key}"
end
或者可能有更好的方法?
答案 0 :(得分:4)
你可以在Hash上调用to_query
来处理url编码等等。所以可能是这样的:
params = {
:a => "http://google.com",
:b => 123
}
url = "http://example.com?#{params.to_query}"
这会产生"http://example.com?a=http%3A%2F%2Fgoogle.com&b=123"
告诉我它是否解决了这个问题。
答案 1 :(得分:1)
G.B。答案是一种解决问题的实用方法。
但是如果你想保留你的字符串,你可以使用""\
制作多行字符串
e.g。
"#{@base_url}questions?pagesize=#{pagesize}&page=#{page}"\
"&fromdate=#{t}&site=stackoverflow&key=#{@key}"