2012-05-20 23 views
0

我们有一个show-action,它应该通过own_key找到正确的条目。 own_key生成为UUIDTools :: UUID.timestamp_create()。to_s。 下面的问题现在在这里。howto find_by ownkey在rails中的确切条目

class ListController < ApplicationController 
    respond_to :html, :xml, :json 
    def show 
    @list = List.find_by_own_key(params[:own_key]) 
    respond_with(@list) 
    end 
end 

航线在这里如此产生

resources :lists 
match '/:id' => 'list#show' 

为什么我们还获得入门回来,如果我们只/后键入一个简单的信? own_key的外观如此f6d47c20-a276-11e1-b127-68a3c454c2b4。所以如果我们输入一个/ lists/f,我会得到一个具有f的own_key的条目。我们如何才能管理我们只用own_key获得条目? 它可以运行的一个约束?

感谢您的帮助,如果一个人可以帮助我们?

马库斯

+0

那么有没有一个条目的关键是'f'或不是? –

+0

没有钥匙不只是一个字母,它们总是由UUID工具生成的。多数民众赞成我们的问题,过滤不正确 – amarradi

+0

这听起来不像它应该发生。值得检查什么SQL被执行。 –

回答

1

从你的路由,params[:id]将包含我倒是搜索,但是你'使用params[:own_key]这将是零。代替使用own_key的指定值搜索记录,您的代码将始终使用null own_key获取该行。

更改您的代码使用params [:id],你应该没问题

+0

是的,这是非常感谢 – amarradi

0

U可以使用constrainsts路线或检查PARAMS [:own_key]在控制器

:constraints => {:own_key=> /regexp pattern for uuid/}