0

アクション「編集」のルートが一致しないため、これらのエラーが発生し続けます

コントローラ:

def remove_artifact_from_collection

... do my stuff ..

render(:action=>:show)
end

view: エラーが発生した行

<p><%= link_to 'Edit Evidence Item', edit_artifact_path, :class => 'edit_button' %></p>

ルート:

resources :artifacts do
    collection do
    get 'remove_artifact_from_collection'
    end
end

bundle exec rake ルート

 remove_artifact_from_collection_artifacts GET    /artifacts/remove_artifact_from_collection(.:format)      {:controller=>"artifacts", :action=>"remove_artifact_from_collection"}
                                 artifacts GET    /artifacts(.:format)                                      {:controller=>"artifacts", :action=>"index"}
                                           POST   /artifacts(.:format)                                      {:controller=>"artifacts", :action=>"create"}
                              new_artifact GET    /artifacts/new(.:format)                                  {:controller=>"artifacts", :action=>"new"}
                             edit_artifact GET    /artifacts/:id/edit(.:format)                             {:controller=>"artifacts", :action=>"edit"}
                                  artifact GET    /artifacts/:id(.:format)                                  {:controller=>"artifacts", :action=>"show"}
                                           PUT    /artifacts/:id(.:format)                                  {:controller=>"artifacts", :action=>"update"}
                                           DELETE /artifacts/:id(.:format)                                  {:controller=>"artifacts", :action=>"destroy"}
4

2 に答える 2

4

これは、アーティファクト/IDをに提供していないためですedit_artifact_path。アーティファクトが@artifactインスタンス変数にあると仮定すると、次を使用する必要があります。

link_to 'Edit Evidence Item', edit_artifact_path(@artifact), ...

次のものも使用できます。

link_to 'Edit Evidence Item', [:edit, @artifact], ...

于 2012-10-24T17:24:36.723 に答える
1
link_to "Edit Artifact", edit_artifact_path(@artifact)

オブジェクトを渡しませんでした。

edit_artifact GET    /artifacts/:id/edit(.:format) 

パスから、id を指定する必要があります。そのため、アーティファクト オブジェクトを含む変数を渡します。

于 2012-10-24T17:37:50.720 に答える