2014-04-01 5 views
1

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

CustomRoutes.create if defined?(CustomRoutes) 

Для того, чтобы это работало, я должен требовать custom_routes.rb только если файл существует, но как?

custom_routes.rb

class CustomRoutes 
    def self.create 
    MyApplication.routes.draw do 
     #...more routes here 
    end 
    end 
end 

ответ

2

Вы можете сделать:

require 'custom_routes' if File.exists?('custom_routes.rb') 

Хотя вы можете добавить информацию о пути:

require 'custom_routes' if File.exists?(File.join(Rails.root, 'lib', 'custom_routes.rb')) 
+0

Спасибо, что работает. –

0

Что-то вроде

require File.expand_path("../../config/custom_routes", __FILE__) if File..exists?("../../config/custom_routes.rb")