Что такое хороший способ разбить ваш файл rout.rb на несколько файлов для лучшего управления? - PullRequest
3 голосов
/ 08 ноября 2010

Я работаю над проектом rails 3 с довольно большим файлом маршрутов. В нем используется некоторая вложенность, и я столкнулся с проблемой в основном из-за того, что с файлами маршрутов сложно работать.

Есть ли способ разбить его на несколько файлов?

Что-то вроде:

My::Application.routes.draw do
  constraints(:subdomain => 'admin') do
    include My::Application::Routes::AdminRoutes
  end

  include My::Application::Routes::MainRoutes
end

Или ...

My::Application.routes.draw do
  constraints(:subdomain => 'admin') do
    require 'routes/admin_routes.rb'
  end

  require 'routes/main_routes.rb'
end

Или что-то в этом роде.

Спасибо!

Ответы [ 2 ]

6 голосов
/ 08 ноября 2010

include вставляет методы включенного модуля в пространство имен, а require просто загружает файл в пространство имен верхнего уровня.Ни один из них не будет работать для вас.

Просто load отдельные файлы

My::Application.routes.draw do
  constraints(:subdomain => 'admin') do
    load 'routes/admin_routes.rb'
  end

  load 'routes/main_routes.rb'
end
0 голосов
/ 08 ноября 2010

другая опция, которую вы можете использовать

ActionController::Routing::Routes.draw do |map| #routes.rb

  extend NewConnections

  some_method(map)  

end 


module NewConnections #/lib/new_connections.rb

  def some_method(clazz)
    clazz.root :controller => "demo"
  end

end

, это соединит корень вашего приложения с контроллером по умолчанию

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