m = Model.find(1);
m.class_name 우리가있는 경우주어진 Model.find (: all), 주어진 결과에서 모델/클래스의 이름을 얻는 방법?
을 "모델"을 줄 것이다 :
m = Model.find(:all);
우리는 어떻게 만 m에서 모델의 이름을받을 수 있나요?
m = Model.find(1);
m.class_name 우리가있는 경우주어진 Model.find (: all), 주어진 결과에서 모델/클래스의 이름을 얻는 방법?
을 "모델"을 줄 것이다 :
m = Model.find(:all);
우리는 어떻게 만 m에서 모델의 이름을받을 수 있나요?
반환 된 배열
m.first.class
뜻, 어떻게 당신이 그들 모두를 집계 할 당신이 실제로 모델 객체의 배열을 반환하기 때문에, 나는이 추천의 첫 번째 항목의 클래스를 돌려 :
를Model.find(:all).collect(&:model_name)
이렇게하면 데이터베이스에서 반환 한 클래스의 모델 이름 배열을 얻을 수 있습니다.
"모델"이라고 부르는 경우 클래스를 이미 알지 못합니까?
당신이
Post.find(:all)
를 호출 할 경우 반환 된 레코드 클래스 포스트이 될 것입니다.
항상 그렇지는 않습니다. STI 모델을 처리 중이고 상위/기본 모델을 조회중인 경우, 다른 모델 이름으로 알려진 서브 클래스를 리턴 할 수 있습니다. –
당신이 상속을받는다면 이것은 꽤 올바르게 작동하지 않을 것입니다. 예를 들어'Media