2013년 12월 30일 월요일

[ROR] virtual attributes

안녕하세요 belhyun입니다.
rails에서는 model에서 virtual attributes를 사용할 수 있습니다.
예를 들어, model field의 이름이 name이라고 해보겠습니다.
만약 name에 @을 붙인 name을 attribute를 요청하고 싶을 때 virtual attributes를 사용하게 됩니다.

먼저 @을 붙인 이름을 twitter_name으로 정의하고 해당 이름에 대한 gettter/setter를 정의합니다.

attr_accessor: twitter_name

그런 후, get 메소드에서 해당하는 형태로 정의합니다.

def twitter_name
  "@{name}"
end

위와 같이 지정한 후 만약 name 필드가 User Model에 정의되었다면 User.twitter_name을 호출하게 되면 @을 붙인 문자열이 반환됩니다. 이러한 virtual attributes를 사용하여 좀 더 확장성 있는 표현을 할 수 있게 됩니다.

감사합니다.

댓글 없음:

댓글 쓰기