2

レシピを更新しようとすると、上記のエラー メッセージが表示される理由がわかりません

これはレーキルートの私の出力です

      recipes GET    /recipes(.:format)                recipes#index
              POST   /recipes(.:format)                recipes#create
   new_recipe GET    /recipes/new(.:format)            recipes#new
  edit_recipe GET    /recipes/:id/edit(.:format)       recipes#edit
       recipe GET    /recipes/:id(.:format)            recipes#show
              PUT    /recipes/:id(.:format)            recipes#update
              DELETE /recipes/:id(.:format)            recipes#destroy
         root        /                                 public_pages#index

私のコントローラは次のようになります

def edit
  @recipe = Recipe.find(params[:id])
end

def update
  @recipe = Recipe.find(params[:id])

  if @recipe.update_attributes(params[:recipe])
    redirect_to recipes_path, :notice => "Successfully updated recipe"
  else 
    render :action => 'edit'
  end
end

そして、投稿を編集するための私のリンク

<%= link_to "Edit Recipe", edit_recipe_path(@recipe) %>

完全なエラーは(これはレシピページにアクセスしようとしたときです

Routing Error

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

Try running rake routes for more information on available routes. 

最後に、私が使用しているフォームは、新しいフォームと編集に同じフォームを使用できると思っていましたが、私のフォームに問題があるということしか考えられませんか? 私は完全に間違っているかもしれませんが

どなたかアイデアをお持ちの方

4

1 に答える 1

2

わかりましたので、私の見解ではこれが必要だったようです

 <%= link_to "Edit Recipe", edit_recipe_path(r.id) %>

これは私が通っていたからです

 <% @recipes.each do |r| %>
于 2012-11-01T20:44:38.057 に答える