You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
경우에 따라서는 모델의 DB컬럼 값이 문자열로 되어있어서 심볼을 반환하지 못하는 경우도 있습니다.
이런 경우는 모델에서 컬럼값의 reader를 재정의해주면 됩니다.
classNotice < ActiveRecord::Basedefnotice_typevalue=read_attribute(:notice_type)# value가 nil이면 아무것도 하지 않고 반환, nil이 아니면 value.to_sym 호출value.try(:to_sym)endend
루비에는 심볼(Symbol)이라는 데이터형이 존재합니다.
쉽게 말해 C언어의 const string이라고 보시면 됩니다. ㅎㅎ
문자열 값을 수정하지 않고, 주로 비교하는 용도로 사용할 경우 심볼을 활용하는 것이 좋습니다. 가령
의 코드는 다음과 같이 수정한다면 좋겠죠.
경우에 따라서는 모델의 DB컬럼 값이 문자열로 되어있어서 심볼을 반환하지 못하는 경우도 있습니다.
이런 경우는 모델에서 컬럼값의 reader를 재정의해주면 됩니다.
다른 코드도 살펴보고 비슷한 상황이 있다면 수정하면 좋겠습니다. ㅎㅎ
The text was updated successfully, but these errors were encountered: