Rails изобретательные маршруты все указывают на действие индекса? - PullRequest
0 голосов
/ 15 октября 2010

Я работаю на Rails 2.3.8.

Я настроил map.resources :users в моем файле rout.rb.

Когда я запускаю rake routes, он показывает:

users GET /users(.:format)                   {:action=>"index", :controller=>"users"}
GET /users(.:format)                   {:action=>"index", :controller=>"users"}
new_user GET /users/new(.:format)               {:action=>"index", :controller=>"users"}
edit_user GET /users/:id/edit(.:format)          {:action=>"index", :controller=>"users"}
user GET /users/:id(.:format)               {:action=>"index", :controller=>"users"}
GET /users/:id(.:format)               {:action=>"index", :controller=>"users"}
GET /users/:id(.:format)               {:action=>"index", :controller=>"users"}
/:controller/:action/:id           
/:controller/:action/:id(.:format)

Извините за форматирование. Но дело в том ... 1) где мои "PUT", "POST" и т. Д. Маршруты?

Любая помощь будет высоко ценится ... Спасибо!

ОБНОВЛЕНИЕ: файл полных маршрутов:

ActionController::Routing::Routes.draw do |map|
  map.login "login", :controller => "user_sessions", :action => "new"
  map.logout "logout", :controller => "user_sessions", :action => "destroy"

  map.resources :users

  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

А у моего users_controller есть все обычные методы создания, создания, показа, редактирования, обновления ...

1 Ответ

0 голосов
/ 15 октября 2010

Я думаю, у вас есть одна из двух проблем: либо вывод из rake routes был искажен вашим терминальным экраном, либо ваши маршруты переопределяются чем-то другим, что вы установили, например, движком rails.

Первое легко проверить. Похоже, у вас есть базовая настройка пользовательских лесов (и не так много), поэтому запустите script/server, перейдите на http://localhost:3000/users/new. Если вы видите новую страницу пользователя, у вас проблема с отображением терминала, но ваши маршруты хорошо. Однако, если вы видите страницу индекса пользователей, перейдите к следующему шагу.

Дважды проверьте, что файл маршрутов, который вы разместили выше, действительно является файлом для вашего приложения. Это звучит смешно, но в некоторых редакторах легко открыть неправильный файл. Например, в TextMate, если у вас есть несколько продаваемых гемов и вы открыли файл маршрутов с помощью команды T, вы можете выбрать несколько файлов rout.rb.

Если вы уверены, что просматриваете правильный файл маршрутов, следующим шагом является проверка вашего приложения на наличие любых других файлов rout.rb, которые могут переопределять ваш основной файл. С терминала вы можете запустить find ./ -name routes.rb, и это будет перечислять любые другие файлы маршрутов. Это особенно вероятно, если у вас установлены двигатели рельсов.

Дайте мне знать, как это происходит - если у вас все еще есть проблемы, вы можете заархивировать вашу заявку и отправить ее мне по электронной почте, и я посмотрю.

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