2014-05-02 132 views
0

我有这个错误显示,我做了很多搜索,但似乎无法找到正确的解决方案。它在一个视图中工作,并在另一个视图上抛出错误。Rails路由不一致和ActionController :: RoutingError - 没有路由匹配

ActionController::RoutingError - No route matches {:action=>"status", :controller=>"orders", :status=>"canceled"}: 

错误正在从以下行抛出

应用/视图/命令/ _chef-states.html.erb - 局部

<%= link_to status_order_path(status: r.first.id2name), 
    data: { confirm: 'Are you sure?' }, 
    method: :put, 
    remote: true do %> 
     <i class="icon-ok icon-white"></i> 
     <span><strong><%= r.first.id2name.capitalize %></strong></span>   
    <% end %> 

部分以上在使用两个地方:

  1. app/views/orders/show.html.erb
  2. 应用程序/视图/命令/ chef.html.erb

在一个位置,即show.html.erb它完全正常,但在位置处的两个它抛出路由错误。

的routes.rb

resources :orders do 
    member do 
     put 'status' 
     get 'print' 
    end 

    get 'chef' , on: :collection 
    end 

能有人建议可能是什么问题或如何我可以修复它。

完整的日志转储可以在这里on pastebin

+0

我已经回答了你的这个问题两次了,每次你完全改变了内容后,你都会遇到不同的问题。现在您的解决方案是完全不同的,我们也无法从您提供的代码中看到。真棒。 – Jon

+0

乔恩感谢您的回答,我唯一编辑的是将'method::put'加入'link_to',并且我不是专业人士,当我想到我在答案中分享了什么问题时。我希望你不会叫警察:) – carbonr

+0

我只是脾气暴躁:) – Jon

回答

0

发现我竟然想通这个问题,在第二视图(chef.html.erb)我不是为了传递对象,因为状态是为了控制器上的成员路线。

混淆?

<%= render 'orders/chef-states', order: order %> 

i。在第二视图无缘

order: order 

并因此它被扔的错误,不知何故错误消息是不是在这种情况下非常自我解释。

相关问题