Рельсы для зомби Уровень 5 Испытание 5 - PullRequest
6 голосов
/ 17 мая 2011

Проблема заключается в создании именованного маршрута.Он должен сгенерировать путь типа '/ zombies /: name', где: name является параметром и указывает на действие индекса в ZombiesController.Назовите маршрут 'кладбище'

ресурсы: ресурсы

zombies
id  name    graveyard
1   Ash     Glen Haven Memorial Cemetary
2   Bob     Chapel Hill Cemetary
3   Jim     My Fathers Basement

мое решение

TwitterForZombies::Application.routes.draw do
  match ':name' => 'Zombies#index', :as => 'graveyard'
end

я также пытался

TwitterForZombies::Application.routes.draw do
      match ':name' => 'Zombie#index', :as => 'graveyard'
    end

ошибка, которую я получаю в обоих случаях:

Sorry, Try Again
Did not route to ZombiesController index action with :name parameter

Что я делаю не так ??

Ответы [ 4 ]

8 голосов
/ 17 мая 2011

Попробуйте это:

match '/zombies/:name',:to=> 'zombies#index', :as => 'graveyard'

RailsForZombies::Application.routes.draw do
    resources :zombie
    match '/zombies/:name',:to=> 'Zombies#index', :as => 'graveyard'
end
8 голосов
/ 17 мая 2011

Попробуйте это

match '/zombies/:name' => 'zombies#index', :as => 'graveyard'
2 голосов
/ 21 февраля 2014

Rails для зомби был обновлен для Rails 4. Метод match устарел.Rails теперь требует указать, какой HTTP-глагол (например, get ) должен отвечать.Для обновленного 5-го уровня 5 Rails для зомби это одно из возможных решений:

TwitterForZombies::Application.routes.draw do
  get '/zombies/:name', to: 'zombies#index', :as => 'graveyard'
end
1 голос
/ 22 июня 2012

эта работа для меня

RailsForZombies::Application.routes.draw do
  match 'zombies/:name' => 'Zombies#index' , :as => "graveyard"
  #match ':name' => 'Zombie#index', :as => 'graveyard'
  #match 'zombies/:name',:to=> 'zombies#index', :as => 'graveyard'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...