0
我使用的轨道2.3.18和Ruby 1.8.7Rails的路线不正确评估
我在我看来,有这样的:
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>
我有此路线routes.rb
map.resources :inventory_data, :path_prefix => "vendors" do |vendor|
map.download_exported_inventory_items 'vendors/inventory/download_exported_inventory_items', :controller => :inventory_data, :action => "download_exported_inventory_items"
end
当我点击链接时,由于被路由到不同的控制器操作(特别是'inventory_item')而导致错误。我看着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"}
任何思考我的路线如何能得到混淆这样的,还是什么我可以做进一步调试问题?
在此先感谢。
'2.3.18和Ruby 1.8.7'耶稣! – phoet
为什么你使用这样一个过时的rails版本? –
工作。我们正在转向。 – warder57