:루비 클래스 I 루비의 비 데이터베이스 기반 클래스가
나는 국가가 단순히 ISO 국가 코드 (US, GB, CA, AU 등)의 배열 할class User
attr_accessor :countries
end
나는 각각을 보유 할 분리 된 모델을 만들고 싶지 않다. :countries
이 배열이고 그에 따라 처리한다는 Ruby의 이해를 돕는 마법의 방법이 있습니까? 아니면 countries
및 countries=
메서드를 작성해야합니까?
나는 국가 배열을 user.countries = [ 'US']로 설정하려고했지만 NoMethodError가 발생했습니다.
class User
COUNTRIES = %w(
AF AX AL DZ AS AD AO AI AQ AG AR AM AW AU AT AZ BS BH BD BB BY BE BZ BJ BM
BT BO BQ BA BW BV BR IO BN BG BF BI KH CM CA CV KY CF TD CL CN CX CC CO KM
CG CD CK CR CI HR CU CW CY CZ DK DJ DM DO EC EG SV GQ ER EE ET FK FO FJ FI
FR GF PF TF GA GM GE DE GH GI GR GL GD GP GU GT GG GN GW GY HT HM VA HN HK
HU IS IN ID IR IQ IE IM IL IT JM JP JE JO KZ KE KI KP KR KW KG LA LV LB LS
LR LY LI LT LU MO MK MG MW MY MV ML MT MH MQ MR MU YT MX FM MD MC MN ME MS
MA MZ MM NA NR NP NL NC NZ NI NE NG NU NF MP NO OM PK PW PS PA PG PY PE PH
PN PL PT PR QA RE RO RU RW BL SH KN LC MF PM VC WS SM ST SA SN RS SC SL SG
SX SK SI SB SO ZA GS SS ES LK SD SR SJ SZ SE CH SY TW TJ TZ TH TL TG TK TO
TT TN TR TM TC TV UG UA AE GB US UM UY UZ VU VE VN VG VI WF EH YE ZM ZW
).freeze
end
User::COUNTRIES.include? "US" #=> true
freeze
가 수정 방지 :
접근 자입니다. 그것은 * 유형 *이 중요하지 않습니다. –
'attr_accessor'를 사용하면'countries'와'countries =':)를 무료로 얻을 수 있습니다 :) –
클래스는'user.countries = [: gb , : au]'? – Gareth