我们有一个show-action,应该通过own_key找到正确的条目。 own_key生成为UUIDTools :: UUID.timestamp_create()。to_s。 以下是现在的问题。
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 :(得分:1)
在您的路线中,params[:id]
将包含我要搜索的内容,但您使用的params[:own_key]
将为零。您不必使用own_key的指定值搜索记录,而是始终使用null own_key获取行。
更改您的代码以使用params [:id],您应该没问题
答案 1 :(得分:0)
你可以在路径中使用约束条件或在控制器
中检查params [:own_key] :constraints => {:own_key=> /regexp pattern for uuid/}