Ruby on Railsを学び始めていますが、これまではすべてが順調に進んでいましたが、最終的には解決できない問題が発生しました。私は、フォーム上の情報を編集し、私は更新を与えるためにクリックすると、それは私に次のエラー(私の英語のため申し訳ありませんが、私は言語に堪能ではないよ)を提示:ルーティングエラー[POST]に一致するルートがありません
Routing Error
No route matches [POST] "/grupos/14/edit"
Rails.root: C:/Ruby/Projetos/florarails
Application Trace | Framework Trace | Full Trace
Routes
outes match in priority from top to bottom
Helper HTTP Verb Path Controller#Action
grupos_path GET /grupos(.:format) grupos#index
POST /grupos(.:format) grupos#create new_grupo_path
GET /grupos/new(.:format) grupos#new
edit_grupo_path
GET /grupos/:id/edit(.:format) grupos#edit
grupo_path
GET /grupos/:id(.:format) grupos#show
PATCH /grupos/:id(.:format) grupos#update
PUT /grupos/:id(.:format) grupos#update
DELETE /grupos/:id(.:format) grupos#destroy
をここに私のコード・コントローラは、次のとおりです。ここで
class GruposController < ApplicationController
def index
@grupos = Grupo.all
end
def show
@grupo = Grupo.find(params[:id])
end
def new
@grupo = Grupo.new
end
def create
@grupo = Grupo.new(user_params)
if @grupo.save
flash[:aviso] = 'Grupo salvo com sucesso'
else
flash[:erro] = 'Erro ao salvar grupo'
end
redirect_to (@grupo)
end
private
def user_params
params.require(:grupo).permit(:descricao)
end
def edit
@grupo = Grupo.find(params[:id])
end
def update
@grupo = Grupo.find(params[:id])
if @grupo.update_attributes(params[:grupo])
flash[:aviso] = 'Grupo salvo com sucesso'
end
redirect_to grupos_path
end
def destroy
@grupo = Grupo.find(params[:id])
@grupo.destroy
flash[:info] = "Grupo excluido com sucesso"
redirect_to(grupos_path)
end
end
は私のビューのコードです:ここで
<%= form_for :grupo do |f| %>
<p>Edição de Grupos</p>
<%= f.label :descricao, "Descrição:" %>:
<%= f.text_field :descricao, :size => 40 %>
<%= f.submit "Alterar Dados" %>
<% end %>
は、ファイル内容routes.rbを次のとおりです。
Rails.application.routes.draw do
resources :grupos
match 'grupos/:id', controller: 'grupos', action: 'show', via: 'get'
match 'grupos/:id/edit', controller: 'grupos', action: 'edit', via: 'get'
match 'grupos/:id/edit', controller: 'grupos', action: 'update', via: 'post' #(When this line is added another error is displayed on the screen >> "Unknown action The action 'update' could not be found for GruposController")
end
ご注意いただきありがとうございます。
あなたが書いた手順に従ってください。どうもありがとうございます!!! –
@LucasRuy嬉しいですが、 'rake routes'はルートファイルを生成するものを理解しやすくなります。 – 7urkm3n