没有路由匹配错误

时间:2012-05-31 20:01:28

标签: ruby-on-rails ruby-on-rails-3

不确定我为什么会

No route matches {:action=>"edit", :controller=>"documents"}

在我的某个部分中的link_to

相关路线.rb

  resources :documents, only: [:create, :destroy, :edit, :update] do
    post 'sort' => 'documents#sort', on: :collection
  end

我最近刚刚添加了编辑和更新操作,因此我当前的问题 rake routes =

  sort_documents POST   /documents/sort(.:format)      documents#sort
       documents POST   /documents(.:format)           documents#create
   edit_document GET    /documents/:id/edit(.:format)  documents#edit
        document PUT    /documents/:id(.:format)       documents#update
                 DELETE /documents/:id(.:format)       documents#destroy

问题路线的部分只是

 <%= document.title %>
 <%= document.position %>
 <%= link_to 'link_to_test', edit_document_path %>
 <%= link_to 'Delete', document, method: :delete, remote: true %>

我的documents_controller.rb有 编辑定义

def edit
    @document = current_user.documents.find(params[:id])
end

1 个答案:

答案 0 :(得分:1)

发生错误是因为您忘记在edit_document_path中指定对象或其ID。试试这个:

<%= link_to 'link_to_test', edit_document_path(document) %>