2010-07-14 2 views
1

모델에 몇 가지 상수를 추가했습니다 (아래 그림 참조). MyModel.rb.해시가있는 레일스 모델 상수

MY_CONST = { 
    :foo =>"Some Name for Foo", 
    :bar =>"Some Name for Bar" 
    } 

또한 foo 문자열을 테이블 레코드에 저장했습니다.

@m = MyModel.find(1) 
@m.column_name #=> foo 

지금 내보기에 내가 MyModel::MY_CONST[:foo]을 시도 @m.column_name 대신

foo의의 출력으로 "푸에 대한 몇 가지 이름"을 보여줄 필요가 있으며 출력으로 "Some Name for Foo"을 인쇄합니다. 하지만 @m.column_nameMyModel::MY_CONST[....]에 동적으로 전달하는 방법을 모르겠습니다.

답변

2

나는`노력`MyModel :: MY_CONST [@ m.column_name] '이 (내가 질문을 게시 그 이유는) 나를 위해 일한 적이 그러나

MyModel::MY_CONST[@m.column_name] 

또는

MyModel::MY_CONST[@m.column_name.to_sym] 
+0

시도 MyModel :: MY_CONST [@ m.column_name.to_sym]'작품, 고마워요. – randika

+0

'MyModel :: MY_CONST [@ m.column_name]'을 실행하려면 :''foo => "Foo의 일부 이름", "to" "foo"=> "Foo의 일부 이름", ' – Salil

+0

많은 살릴. 나는 지금 그것을 이해하지 못했다. – randika

관련 문제