2010-08-05 1 views
1

Во время исполнения мы можем получить текущий контроллер и текущие имена действий от controller_name и ACTION_NAME методы, как мудрые,Как получить имена всех моделей, контроллеров, действий и методов в Rails

Я хочу, чтобы все остальные контроллеры и имена действий и модели, если это возможно.

Любой метод рельсов доступен для получения всех имен контроллеров и имен действий в контроллере приложения.

ответ

0
@table_names = ActiveRecord::Base.connection.tables 
    @model_names = Array.new 
    @model_names.each do |table_to_model| 
     @model_names = @model_names.insert(@model_names.length,table_to_model.camelize.singularize) unless table_to_model.blank? 
    end 

Это, как вы получите все название модели

+0

Большого спасибо ..пути этого способ можно получить имена контроллера и имена действий и метода ... Заранее спасибо .. С уважением , Ramanaa Selvaa – Ramanavel

+0

Опечатка в ответе sachin7036. Третья строка должна читать «@ table_names.each do | table_to_model |». Вы можете получить имя контроллера для модели, сделав что-то вроде ... kontroller = eval ("# {model_name.camelcase << 'Controller'}") Вы можете получить имена действий (в 2.3.8 или ниже) на что-то вроде ... действия = kontroller.action_methods – worktheweb