Ошибка «Нет совпадений маршрутов» при удалении микросообщений в главе 11 учебника Хартла по рубинам на рельсах - полностью озадачена - PullRequest
3 голосов
/ 03 мая 2011

Я пытаюсь отследить особенно неуловимую ошибку при работе с 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

1 Ответ

3 голосов
/ 03 мая 2011

link_to :method => :delete использует ненавязчивый JavaScript для создания запроса DELETE.Я предполагаю, что у вас либо нет необходимых файлов javascript в вашем проекте (prototype.js / jquery.js и rails.js), либо вы не включили их в свой макет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...