Правильная маршрутизация в Rails для разнообразного набора инструментов - PullRequest
0 голосов
/ 18 февраля 2011

Я пытаюсь очистить свои маршруты, и у меня возникла ситуация, с которой я не уверен, что делать:

У меня есть большое количество инструментов и отчетов, распределенных по различным контроллерам, которые в основном являются коллекциями, но все они вращаются вокруг 2 параметров: деления и термина.

Я хотел сделать что-то вроде этого:

resources :divisions do
  resources :terms do
    scope "/tools" do
      #something to redirect to controller "carriers" and action "carrier_distribution"
      #something to redirect to controller "courses" and action "secour monitor"
    end
  end
end

Большинство интересующих меня ресурсов вложено в разделение.

Было бы очень чисто и полезно иметь такой URL:

/ подразделения / 1 / Термины / 1 / инструменты / carrier_distribution

У меня есть возможность создать «инструментальный» контроллер, который мог бы запустить эту штуку. Я просто не уверен, что уместно (например, стоит ли мне передавать параметр term).

спасибо!

1 Ответ

1 голос
/ 18 февраля 2011

Лично я бы пошел с ToolsController и отобразил в ваших маршрутах:

map.connect "/divisions/:division_id/terms/:term_id/tools/:action", :controller => "tools"

Тогда ваш ToolsController может просто получить доступ к этим параметрам:

class ToolsController < ApplicationController
  def report1
    render :text => "hello from report1, division[#{params[:division_id]}] term [#{params[:term_id]}]"
  end

  def report2
    render :text => "hello from report2, division[#{params[:division_id]}] term [#{params[:term_id]}]"
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...