0

プロジェクトを編集するための機能を実装しようとしていますが、ルートを機能させることができません。

ルート.rb:

Ampta::Application.routes.draw do
  get "home/index"

  resources :projects
  resources :tickets
  resources :projects_users
  resources :users

  ...
end

パスにリンクしているビュー:

...
<%= link_to "Show tickets", tickets_path%><br/>
<%= link_to "Manage projects", edit_project_path %><br/> // <--- The link
<%= link_to "Log out", signout_path, method: "delete"%>
...

(プロジェクト コントローラーで「編集」アクションを定義しましたが、まだコードは含まれていません。)

rake ルートを実行している場合、ルートはそこにあるのに、そうではないことを説明する次のエラーが表示されるのはなぜですか。

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

2 に答える 2

2

編集中のアイテムの記録を渡す必要があります。show.html.erbには、理想的には次のようなものがあります。

<%= link_to "Manage project", edit_project_path(@project) %>

とあなたのコントローラーで

def show
  Product.find(params[:id])
end
于 2013-02-10T20:27:34.457 に答える
2

edit_project_pathどのプロジェクトを編集しようとしているのかわかりません。このルーティング ヘルパーはProjectインスタンスを受け取り、それを like にルーティングし/projects/1/editます。おそらくあなたは使用するつもりでしたprojects_pathか?

このprojects_pathメソッドProjectsController's indexは、(通常) プロジェクトのリストがそのページで編集するためのリンクとともに提供されるアクションに進みます。

于 2013-02-10T20:25:41.953 に答える