2009-08-10 4 views
21

데이터베이스에서 검색 한 데이터 유형이 무엇인지 확인하려면 어떻게합니까?(Rails) 필드의 데이터 유형을 확인하는 방법이 있습니까?

예를 들어 데이터베이스 필드 "title"을 사용하여 모델 @ 모델의 인스턴스를 만들면 @ model.title.type과 같은 코드를 작성하고 "String"을 반환 할 수 있기를 원합니다. Rails에 내장 된 기능이 있습니까?

답변

33

이 시도 :

@model.column_for_attribute('title').type 

반환해야 :string, :text, :integer

액티브 Column 클래스는 다른 속성의 수를 포함

: 기본, 제한, 이름, 널 (null), 정밀도, 기본, 척도, sql_type, 유형.

+1

참고 사항 : 이름, 정밀도, 기본, null, 제한 및 기본값 –

+0

감사합니다. – Karl

8

레일 3에서 "Firm"이라는 내 모델의 경우 Firm.columns_hash을 사용합니다. 당신이 그들을 반복 할 경우

Firm.columns_hash["name"].type #returns :string 

, 당신은 같은 것을 할 것 :

Firm.columns_hash.each {|k,v| puts "#{k} => #{v.type}"} 

출력 다음과 같은 것이다 : 등등

id => integer 
name => string 
max_trade_qty => integer 

하고 있습니다.

관련 문제