我的模型中有一个解析 API 并返回数据的方法:
def self.get_item_info(date, time, limit)
url = URI.parse("#{end_point_url}/#{date}?mRange=#{time}&limit=#{limit}")
@response = JSON.parse(Net::HTTP.get_response(url).body)
if @response["ERROR"]
flash[:notice] = { :notice => "Sorry, No Data returned. Message: #{@response["ERROR"]["errorMessage"]}" }
else
@data = []
@items = @response["v1"]["items"]
@items.each do |item|
add_data(item["itemNbr"])
@data << [@fam_id = item["FamId"],
@item_nbr = item["itemNbr"],
@item_desc = item["itemDesc"]]
end
return @data
end
end
我的控制器:
def index
if
date = params[:date]
time = params[:time]
limit = params[:limit].to_i
Product.get_item_info(date, time, limit)
if @message
redirect_to "/view_api", :flash => { :notice => "Sorry, No Data returned. Message: #{@message}" }
else
@data
end
end
end
如果 API 返回错误,如何在我的控制器中重定向 :back 并闪烁 API 返回的错误消息。我最初在我的控制器中有这个逻辑,但为了测试目的将它移到我的模型中。