0

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

当我点击我的链接时,creations_stock_path(:id => creation.id)我有一个错误Couldn't find Creation with id=stock。我真的不明白这个问题,我对另一个对象(产品)也有同样的问题,它可以工作。

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

>> params
=> {"id"=>"stock", "action"=>"show", "controller"=>"creations"}

为什么 ???在我的控制器中,我写道:

def stock
  @creation = Creation.find(params[:id])
end

所以我首先不明白为什么 rails 想要使用 Show 动作以及为什么我的参数是错误的......

任何想法 ?

编辑:我的 routes.rb 文件:

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

1 回答 1

0

该错误意味着Creation数据库中没有 id 等于 的记录params[:id]。检查您的数据库以查看记录是否存在。此异常在生产模式下运行时或至少在config.consider_all_requests_local为 false 时显示 404 页面。

如果您不希望它引发异常,请尝试在未找到记录时find_by_id返回。nil

于 2013-03-29T14:28:37.280 回答