Я пытаюсь отследить особенно неуловимую ошибку при работе с ROR Tutorial Майкла Хартла.
При нажатии на «Удалить» для микросообщений (с домашней страницы или страницы пользователя / шоу) URL-адрес равен http://localhost:3000/microposts/303,, но в результате получается «Ошибка маршрутизации - не найдено ни одного маршрута» / microposts / 303 » .
Я просмотрел каждую страницу своего кода и заменил ее кодом с сайта проекта Hartl gitHub. https://github.com/railstutorial/sample_app. Например, для microposts_controller я скопировал код из хранилища gitHub и заменил мой код скопированным кодом. Затем я перезапустил сервер. Тот же результат. Затем я вернулся к своему коду, чтобы проверить следующую страницу.
Страницы, с которыми я поменял код,
КОНТРОЛЛЕРЫ
microposts_controller
users_controller (show method)
МОДЕЛЬ
micropost.rb (модель)
МНЕНИЯ
microposts / _micropost.haml
общий / _micropost_form.html.haml
общий / _feed.haml
общий / _feed_item.haml
и файл Routes.
Я не могу проверить другие вещи. У кого-нибудь есть предложения?
Спасибо
Dave
Результаты рейковых маршрутов
sessions POST /sessions(.:format) {:action=>"create", :controller=>"sessions"}
new_session GET /sessions/new(.:format) {:action=>"new", :controller=>"sessions"}
session DELETE /sessions/:id(.:format) {:action=>"destroy", :controller=>"sessions"}
signin /signin(.:format) {:controller=>"sessions", :action=>"new"}
signout /signout(.:format) {:controller=>"sessions", :action=>"destroy"}
microposts POST /microposts(.:format) {:action=>"create", :controller=>"microposts"}
micropost DELETE /microposts/:id(.:format) {:action=>"destroy", :controller=>"microposts"}
root /(.:format) {:controller=>"pages", :action=>"home"}
contact /contact(.:format) {:controller=>"pages", :action=>"contact"}
about /about(.:format) {:controller=>"pages", :action=>"about"}
help /help(.:format) {:controller=>"pages", :action=>"help"}
signup /signup(.:format) {:controller=>"users", :action=>"new"}
development /development(.:format) {:controller=>"pages", :action=>"development"}
/signup(.:format) {:controller=>"users", :action=>"new"}
users GET /users(.:format) {:action=>"index", :controller=>"users"}
POST /users(.:format) {:action=>"create", :controller=>"users"}
new_user GET /users/new(.:format) {:action=>"new", :controller=>"users"}
edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
user GET /users/:id(.:format) {:action=>"show", :controller=>"users"}
PUT /users/:id(.:format) {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"users"}
Файл Routes.rb -
SampleApp::Application.routes.draw do
#Sign in Routes
resources :sessions, :only => [:new, :create, :destroy]
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
#Microposts Routes
resources :microposts, :only => [:create, :destroy]
#Pages Routes
root :to => "pages#home"
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
match '/signup', :to => 'users#new'
match '/development', :to => 'pages#development'
#Users Routes
match '/signup', :to => 'users#new'
resources :users
end
Но, как я уже сказал, даже замена файла маршрутов на файл на gitHub не решила проблему.
Ссылка для удаления -
= link_to "delete", micropost, :method => :delete,
:confirm => "You sure?",
:title => micropost.content