这是我的网址:/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动作以及为什么我的params错了......
有什么想法吗?
编辑:我的routes.rb文件:
get "creations/stock"
get "products/stock"
答案 0 :(得分:0)
错误表示数据库中没有Creation
条记录,其id等于params[:id]
。检查数据库以查看记录是否存在。此异常在生产模式下运行时显示404页面,或者至少在config.consider_all_requests_local
为假时显示。
如果您不希望它引发异常,请尝试使用find_by_id
,而不会在找不到记录时返回nil
。