大家好!我正在做这个任务:/urls/:short_url 的 get-request 应该返回页面的 url 并将请求计数器增加 1(据我了解,这是需要的此类 get-requests 的数量计算)。为此,我实现了一个 Url 模型,其中包含 s_url:string 和 request_number:integer 字段以及控制器中 show 方法的以下代码:
def show
if !Url.where(s_url: request.original_url.to_s).blank?
url = Url.find_by_s_url(request.original_url.to_s)
url.request_number += 1
else
url = Url.create(s_url: request.original_url, request_number: 1)
url.save
end
render json: url, status: 200
end
这就是问题所在:计数器的值只被提升一次(从 1 到 2),然后它根本没有更新。此外,返回的正是最初更改的数据库行。如何解决?
添加后没有写数据库保存:url.save
添加此行后,一切正常