2010-08-05 2 views
1

레일의 이름,내가 남아있는 모든 컨트롤러를 얻으려면 모든 모델, 컨트롤러, 액션 및 방법 우리가 현재의 컨트롤러와 현명한 같은 controller_name 및 ACTION_NAME 방법으로 현재의 액션 이름을 얻을 수 있습니다 런타임에서

을 얻는 방법과 가능한 경우 액션 이름과 모델을 입력하십시오.

응용 프로그램 컨트롤러에서 모든 컨트롤러 이름과 동작 이름을 가져올 수있는 모든 레일 방법이 있습니다.

답변

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 

모든 모델 이름이 방법은 컨트롤러 이름과 작용 및 방법 이름을 얻는 것이 가능하다 ..By 작정

+0

감사합니다 ... 사전에 감사를 얻는 방법이있다 .. 감사합니다 , Ramanaa Selvaa – Ramanavel

+0

sachin7036의 답변에 오타가 있습니다. 세 번째 행은 "@ table_names.each do | table_to_model |"이라고 읽어야합니다. ... kontroller = eval ("# {model_name.camelcase << 'Controller'}") 다음과 같이 액션 이름을 (2.3.8 이하로) 얻을 수 있습니다. 같은 것을하고 ... actions = kontroller.action_methods – worktheweb