Rails 3 Nested Routing - PullRequest
       1

Rails 3 Nested Routing

0 голосов
/ 01 марта 2012

У меня очень интересный сценарий:

Я указал два контроллера, один для глобальных событий, а другой один раз для событий, специфичных для компании. В маршрутах это указывается так:

resources :companies do
  resources :events
end
resources: events

Запуск рейковых маршрутов. Я вижу генерируемые маршруты:

events GET  /events(.:format) events#index
company_events GET /companies/:company_id/events(.:format) events#index 

Кажется, что оба пути направлены на один и тот же контроллер (глобальный) ... У меня есть второй контроллер в контроллере / компании, который выглядит примерно так:

class Companies::EventsController < ApplicationController
 # stuff
end

Он никогда не маршрутизируется в этом контроллере, независимо от того, использую ли я company_evens_path (@company). всегда идет к другому. Раньше для меня это работало в рельсах 2.3, сейчас я использую 3.2

1 Ответ

2 голосов
/ 01 марта 2012

Хорошо, как указано выше, я бы порекомендовал сделать что-то вроде этого:

def index
  if params[:company_id]
    @events = Company.find(params[:company_id]).events
  else
    @events = Events.all
  end
end

хотя, если вам нужно, вы можете указать контроллер:

resources :companies do
  resources :events, :controller => "companies/events"
end
resources: events

и просто создайте папку companies внутри вашей папки контроллеров, чтобы поместить ваши Companies :: EventsController внутри

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