Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
æ¦è¦ åããActiveRecord::Enumããè¤æ°ã¢ãã«ã§ä½¿ãæ¹æ³ã以ä¸ã«ç¤ºãã¾ãã ä½ã工夫ããªãã¦ããå ¨ãåãã³ã¼ããè¤æ°ã®ã¢ãã«ã«è¨è¿°ãããã¨ã§å®ç¾ã§ããã®ã§ãããããã§ã¯DRYååã«åãã¦ãããæ¦å¿µã¨ãã¦åããã®ãæãã¦ãããã¨ãã³ã¼ãã§è¡¨ç¾ã§ãã¦ãã¾ããã ãã®ãããªã³ã¼ãã¯å¤æ´ã®éã«å¤æ´æ¼ããçãããããããã¯ä¸æ¹ã®ã¢ãã«ã«ã¯è¦ç´ ã追å ãã¦ãã䏿¹ã«ã¯è¿½å ããªãã¨ãã£ãå½åã®è¨è¨æå³ï¼æ¦å¿µã¨ãã¦åããã®ãæãã¦ããï¼ã«åãã夿´ãå ãããããªã¹ã¯ãçãã¾ãã ãããã®åé¡ã解決ãã¤ã¤ãåããActiveRecord::Enumããè¤æ°ã¢ãã«ã§ä½¿ãæ¹æ³ãèãã¾ãã æ¹æ³ ã¢ãã«ã¯ã©ã¹ã®å¤ã§å®ç¾©ãã Hash ããenum ã«ä¸ãã¾ãã
ååãã¤ã³ã¿ã¼ãã§ã¼ã¹ã使ã£ã¦ enum ã®ã¡ã½ãããå®ç¾©ããæ¹æ³ã説æãã¾ããã ä»åã¯ãstrategy ãã¿ã¼ã³ã使ã£ã¦ enum ã®ã¡ã½ãããå®ç¾©ããæ¹æ³ã説æãã¾ãã ä»åã®ä»æ§ ä»åã¯ãã¨ããä¼ç¤¾ã®å¶æ¥æã表ã BusinessMonth ã¯ã©ã¹ï¼enumï¼ãå®ç¾©ãããã¨ã¨ãã¾ãã ãã®ä¼ç¤¾ã¯ãå¤ã®ãªã¾ã¼ãå°ã§å¶æ¥ãã¦ããä¼ç¤¾ã¨ãã¾ãããã ã§ãææ¯ã«æéã以ä¸ã®ããã«è¨å®ãããã¨ãã¾ãããã ï¼æã¨ï¼æã¯ãï¼å²å¢ã¨ããã ï¼ï¼æãï¼æã¯ãï¼å²å¼ã¨ããã ãã®ä»ã®æã¯ãæ¨æºä¾¡æ ¼ã¨ãããï¼å²å¼ãå²å¢ãªãï¼ å®è£ ä¾âconstant specific method implementation ã®å ´å æåã«èª¬æãããconstant specific method implementation ã§å®è£ ãã¦ã¿ããã¨ã«ãã¾ãããã public enum BusinessMonth
JPAå®è£ ã«ãã£ã¦è©±ã¯å¤ãã£ã¦ããããããã¾ããï¼ãããã¯EclipseLinkã使ã£ã¦ãã¾ãï¼ JPAã§Enumãæ±ãã¨ã @Enumerated(EnumType.String) private HogeEnum hoge; ãµã¤ãã¯ããããã¨æãã¾ãï¼ @Enumeratedã¢ããã¼ã·ã§ã³ãåæåã®å¤æ°ã«ã¤ããã¨ï¼JPAãpersistãã¦DBã«insertããã¨ãã«ï¼EnumTypeã®å¤ã«ãããã£ã¦å¤æãã¦ããã¾ãï¼ Stringãæå®ããã¨ï¼Enum#nameï¼Ordinalãæå®ããã¨ï¼Enumãæå®ããã¨Enum#ordinalãããããå¼ãã çµæã«å¤æããã¦æ°¸ç¶åããã¾ãï¼ DBã®å¤ããã¨ã³ãã£ãã£ã¯ã©ã¹ã®ã¡ã³ãã«æ»ãã¨ãã¯Enum#valueOfã¨ãã§æ»ããã§ãããï¼å®è£ è¦ã¦ãªããã§ããããªãã®ã§ããï¼ ãã®Enumï¼DBã«å ¥ããã¼ã¿ãå¶éããã¨ãã«å¤§å¤ä¾¿å©ã§ãï¼é½éåºç
las - initially (Lori Semprevio) | Flickr - Photo Sharing! Rails4.1ããå°å ¥ãããEnumã®æåã«ã¤ãã¦å¿ãããã¨ãããã®ã§ç°¡åã«ã¾ã¨ãã¾ããã enumã®å®ç¾©ãenumãå®ç¾©ãããã¨ã«ãã使ãã便å©ãªã¡ã½ãããªã©ãã¾ã¨ãã¾ããã ç®æ¬¡ enumã®ã¹ãã¼ãå®ç¾© enumã§ä½¿ããã¡ã½ãã enumã®å¤ãæ¤ç´¢ enumã®æ³¨æç¹ åä½ç¢ºèª Rails 4.2.3 Ruby 2.2.2 enumã®å®ç¾© 次ã®ããã«ãenumã屿§åã屿§ã®å¤ï¼ããã·ã¥ï¼ã§æå®ãããã¨ã§Enumãå®ç¾©ãããã¨ãã§ãã¾ãã class Article < ActiveRecord::Base # enumã®å®ç¾©ï¼ãã¼ã¨æ°åã®ããã·ã¥ã渡ããæ°åãDBã«ã©ã ã«è¨å®ãããï¼ enum status: { draft: 0, published: 1 } en
ããã«ã¡ã¯ã4æ2æ¥ã«çºå£²ãããå°å®¤ããã®ã½ãã¢ã«ãã ãæ¥½ãã¿ã§ä»æ¹ããªãGTOã§ãã å æ¥ãJavaã®æ¹ãå§åçã«å®è¡é度ãéããã¨ã証æãããã«ãé¢ãããã社å ã¯âãºã¡ã±ã¼ï¼PHPerãPHPã使ã£ã¦ãã人ï¼âã墿®ä¸ã ãããªæµããæã¡åã£ã¦ããã£ã¨Javaã«æ £ã親ããã§ããããã¨ãä»åã¯Javaã«ããã宿°ã®ä½¿ãæ¹ããç´¹ä»ãããã¨æãã¾ãã ç®æ¬¡ ãEnumã¨ã¯ä½ããããå§ã¾ããEnumã使ã£ãå¦çãå ±éåãããã¾ã§ãã¹ããããè¸ãã§çè§£ãã¦ããã¾ãããï¼ ãSTEP0ãEnumï¼åæåï¼ã¨ã¯ ãSTEP1ãããç°¡åãªEnum ãSTEP2ãEnumã§åç§°ãå®ç¾©ãã ãSTEP3ãã³ã¼ãå¤ããåç§°ãåå¾ãã ãçåãEnumæ¯ã«åãå¦çãæ¸ããªããã°ãããªãï¼ ãSTEP4ãEnumã使ã£ãå¦çãå ±éåãã ã¾ã¨ã æã£åãæ©ãEnumã使ã£ãå¦çã®å ±éåã«ã¤ãã¦ç¥ãããæ¹ã¯ããã
ã¡ã³ããã³ã¹
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}