0

对于每个original_url(由用户输入),我生成一个short_url,并且在将它们保存到数据库后,显示short_url. original_url我能够做到这一点。

现在我想看看如果一个URL已经被缩短了,那么它可以直接从数据库中检索而不用再次缩短。

我这样做的想法是将original_url用户输入的内容与 db 中的内容进行比较,如果找到short_url直接检索,则缩短original_url.

但我无法做到这一点......请帮助我。如果还有其他更好的想法,请告诉我。提前致谢。

 def show
    @url = Url.find(params[:id])
    if Url.find_by_original_url(@url.original_url)
      @url.short_url
    else
      @short_url
    end 
end
4

1 回答 1

3

如果您要填写 short_url 列,那么为什么不检查一下里面是否有东西呢?

def show
   @url = Url.find(params[:id])
   unless @url.short_url
      # shorten the URL
   end
end

或者

def show
   @url = Url.find(params[:id])
   if @url.short_url
   else
      # shorten the URL
   end
end
于 2012-07-02T19:18:42.690 回答