Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 铁路线路评估错误_Ruby On Rails_Ruby_Debugging_Routing - Fatal编程技术网

Ruby on rails 铁路线路评估错误

Ruby on rails 铁路线路评估错误,ruby-on-rails,ruby,debugging,routing,Ruby On Rails,Ruby,Debugging,Routing,我使用的是rails 2.3.18和Ruby 1.8.7 我认为: link_to 'Download file', {:controller => 'inventory_data', :action => 'download_exported_inventory_items', :reference_id => 'somehashvalue'} 这将输出以下链接: <a href="/vendors/inventory/download_exported_invent

我使用的是rails 2.3.18和Ruby 1.8.7

我认为:

link_to 'Download file', {:controller => 'inventory_data', :action => 'download_exported_inventory_items', :reference_id => 'somehashvalue'}
这将输出以下链接:

<a href="/vendors/inventory/download_exported_inventory_items?reference_id=somehashvalue">Download file</a>
当我点击链接时,我得到一个错误,原因是路由到不同的控制器操作(特别是“库存项目”)。我研究了rails路由调试,找到了一种检查URL映射到哪个控制器操作的方法。我把这个放在控制台里:

r = ActionController::Routing::Routes
r.recognize_path "/vendors/inventory/download_exported_inventory_items"
其中返回了以下内容:

=> {:controller=>"inventory_data", :id=>"download_exported_inventory_items", :action=>"inventory_item"}
有没有想过我的路线怎么会像这样混在一起,或者我能做些什么来进一步调试这个问题


提前感谢。

有一个较早的路由,由于参数[:id]的设置方式,该路由匹配

map.inventory\u item'vendors/inventory/:id',:controller=>:inventory\u data,:action=>“inventory\u item”

在哪里


params[:id]=“下载导出的库存物品”

2.3.18和Ruby 1.8.7
JESUS!为什么要使用这样一个过时的rails版本?工作。我们正朝着转换的方向前进。
=> {:controller=>"inventory_data", :id=>"download_exported_inventory_items", :action=>"inventory_item"}