Обновление до Rails 3: проблема с маршрутами

#ruby-on-rails #ruby #ruby-on-rails-3 #routes

#ruby-on-rails #ruby #ruby-on-rails-3 #маршруты

Вопрос:

У меня возникла проблема с обновлением моего файла routes.rb.

Я преобразовал этот маршрут:

  map.resource :index,    :controller => "users", :action => "index"
  

Автор:

 resource :index, :to => "users#index" 
  

Ошибка не возникает, но страница отображается некорректно.
У кого-нибудь есть идея?

Обновить:

У меня есть эта инструкция:

 resources :users
  

Вот мой файл routes.rb:

 JNetExams::Application.routes.draw do |map|
    match 'login', :to => 'user_sessions#new', :as => 'login'
    match 'logout', :to => 'user_sessions#destroy', :as => 'logout'
    root :to => 'user_sessions#new'

    resources :groups
    resources :students
    resources :users
    resources :responses

    #map.resource :index,    :controller => "users", :action => "index"
    resource :index, :to => "users#index"
    map.resource :account,  :controller => "users"
    #resource :account, :controller => "users"
    resource :user_session
    resource :student
    resource :user
    map.resource :professor, :controller => "professors", :action => "index"
    #resource :professor, :to => "professors#index"

    map.connect ':controller/:action/:id'
    #match ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'
    #match ':controller/:action/:id.:format'

    #map.connect '*url', :controller => :users, :action => :index
    match '*url', :to => "users#index"

    #map.connect '/user_sessions/show', :controller => "user_sessions", :action => "show"
    match '/user_sessions/show', :to => "user_sessions#show"
  

Как я могу обновить этот файл routes до Rails 3?

Комментарии:

1. Что значит «отображается некорректно»? Вы вообще не получаете страницу или просто проблема со страницей?

2. Большое спасибо за ваш ответ. Страница отображается некорректно. Некоторые элементы не загружены.

3. тогда ладно. почему resource :index , users#index покрывается resources :users ? В любом случае, я думаю, вы вводите меня в заблуждение с маршрутами, многое отличается от rails 2.x до 3. Какие элементы не загружены?

Ответ №1:

resources :index предоставляет пути для ресурса индекса. Так new_index_path будет указывать на new действие в IndexController . Если у вас нет ресурса индекса, вы не должны использовать ресурсы для определения пути к "users#index" . Этот путь уже указан вам как users_path через resources :users . Если вы хотите установить индексную страницу для своего приложения, вы можете добиться этого с помощью root :to => "users#index" .

Проблема того, что что-то отображается некорректно, неясна, и я нанимаю вас, чтобы пролить больше света на это. В конце концов, мы здесь, чтобы помочь.

Ответ №2:

У вас есть ресурс под названием index?

Это больше похоже на то, что должно быть

 resources :users
  

Если вам нужна дополнительная помощь, пожалуйста, покажите файл routes целиком.