Ruby on rails 3 url和Rails中的参数错误

Ruby on rails 3 url和Rails中的参数错误,ruby-on-rails-3,params,Ruby On Rails 3,Params,这是我的url:/creations/stock?id=3 当我点击我的链接creations\u stock\u path(:id=>creation.id)时,我有一个错误找不到id=stock的创建。我真的不明白这个问题,我对另一个对象(产品)也有同样的问题,它可以工作 当我检查我的参数发送的内容时,我有 >> params => {"id"=>"stock", "action"=>"show", "controller"=>"creations"}

这是我的url:
/creations/stock?id=3

当我点击我的链接
creations\u stock\u path(:id=>creation.id)
时,我有一个错误
找不到id=stock的创建。我真的不明白这个问题,我对另一个对象(产品)也有同样的问题,它可以工作

当我检查我的参数发送的内容时,我有

>> params
=> {"id"=>"stock", "action"=>"show", "controller"=>"creations"}
为什么???在我的控制器中,我写道:

def stock
  @creation = Creation.find(params[:id])
end
所以我不明白为什么rails要使用ShowAction,为什么我的参数是错误的

有什么想法吗

编辑:My routes.rb文件:

get "creations/stock"
get "products/stock"

该错误意味着数据库中没有id等于
params[:id]
创建
记录。检查数据库以查看记录是否存在。此异常在生产模式下运行时显示404页面,或者至少在
配置时显示404页面。请考虑\u all\u requests\u local
为false


如果您不想让它引发异常,请尝试
find\u by\u id
,当未找到记录时,它将返回
nil

事实上,这是因为我的get“creates/stock”位于route.rb文件中的
resources:creates
之后。我以前不知道这是强制性的。我只是为了……浪费了半个小时。。。没什么。如果这是问题所在,那么最好只在
resources:creates
中添加一个块,然后在块中添加
get:stock,on::collection
。这样,它就不会与show action冲突,您也不必担心路由中的层次结构。