ROR ...从db中检索数据

时间:2012-07-02 19:12:47

标签: ruby-on-rails ruby

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

现在我想知道如果URL已经缩短了,那么可以直接从数据库中检索它而不会再次短路。<​​/ p>

我这样做的想法是将用户输入的original_url与db中的{0}进行比较,如果发现直接检索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

1 个答案:

答案 0 :(得分: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