У меня проблема маршрутизации. Когда я нажимаю кнопку «Отправить» в форме редактирования для события, я перенаправляется на страницу с .id вместо/id, которая явно не существует и создает ошибку. Любое понимание будет высоко оцененПуть Rails показывает значение .id not/id при обновлении
error: No route matches [PATCH] "/event.2"
Rails.application.routes.draw do
root 'welcome#welcome'
get '/user/:id/' => 'users#main'
get '/event' => 'events#index'
get '/event/new/' => 'events#new'
get '/event/:id/' => 'events#main'
post 'event' => 'events#create'
delete '/logout' => 'sessions#destroy'
post '/submit' => 'welcome#submit'
resources :events do
member do
get :coming, :going
post :destroy, :update
end
end
resources :users do
member do
get :following, :followers
end
end
resources :friends, only: [:create, :destroy]
resources :comings, only: [:create, :destroy]
resources :relationships, only: [:create, :destroy]
get 'auth/:provider/callback', to: 'sessions#create'
get 'logout', to: 'sessions#destroy'
enter code here
end
#events controller methods#
def edit
@event = Event.find(params[:id])
end
def update
@event = Event.find(params[:id])
respond_to do |format|
if @event.update(event_params)
format.html { redirect_to @event }
else
format.html { render :edit }
end
end
end
#edit view#
<!DOCTYPE html>
<div class="edit-event">
<div class="container">
<h2>Tell us about your dog!</h2>
<div class="edit-area">
<%= form_for(@event) do |u| %>
<div class="field">
Event Name:
<%= u.text_field :event_name %>
Event Place:
<%= u.text_field :place %>
<%= u.submit "Submit"%>
</div>
<% end %>
</div>
</div>
обновляемых Маршрутов файл
Rails.application.routes.draw do
root 'welcome#welcome'
get '/user/:id/' => 'users#main'
get '/event' => 'events#index'
get '/event/new/' => 'events#new'
get '/event/:id/' => 'events#main'
post 'event' => 'events#create'
delete '/logout' => 'sessions#destroy'
post '/submit' => 'welcome#submit'
resources :events, only: [:edit, :update]
resources :users do
member do
get :following, :followers
end
end
resources :friends, only: [:create, :destroy]
resources :comings, only: [:create, :destroy]
resources :relationships, only: [:create, :destroy]
get 'auth/:provider/callback', to: 'sessions#create'
get 'logout', to: 'sessions#destroy'
Почему у вас есть дополнительные маршруты для событий (за пределами блока ресурсов)? Каков путь, по которому вы перенаправлены на –
@FrederickCheung Я не уверен, что вы имеете в виду. Я обновил форму маршрутов, но получаю ту же ошибку. Какие модификации вы предлагаете? – BNYCS92
@ BNYCS92 что вышло из истории? Было бы полезно, если вы сможете опубликовать свое решение (что бы вы ни помнили сейчас) –