ã¯ããã«
ãRuby on Railsï¼RoRï¼ã¯ãURLãã©ã¡ã¼ã¿ã®å¼ã渡ãã¨èªã¿è¾¼ã¿ã«é¢ãã¦è¨ãã°ãé常ã«ä½¿ãããããã¬ã¼ã ã¯ã¼ã¯ã¨ãã¦ç¥ããã¦ãã¾ããããã®ä¸æ¹ã§ãURLãã©ã¡ã¼ã¿ã¯åç´ãªæååã¨ãã¦æ¸¡ãããã¨ããå ±éèªèãããã¾ããæ¬ç¨¿ã§ã¯ãRoRãURLãã©ã¡ã¼ã¿ãã©ã®ããã«è¡¨ç¾ããããããã¦ã¦ã¼ã¶ã¼ããã®æ å ±ãã©ã®ããã«å©ç¨ãã¦URLãã©ã¡ã¼ã¿ãå¹æçãã¤å¹ççã«è§£æãã使ç¨ã§ãããã説æãã¾ãã
Railsã¨URLãã©ã¡ã¼ã¿
ãã¾ããRailsã§ã®ãã©ã¡ã¼ã¿ã®å¼ã渡ãã«ã¤ãã¦ãä¾ãç¨ãã¦èª¬æãã¾ãããªã¹ã1ã«ããã¼ã«ã«ãã·ã³ä¸ã®åä¿¡ãµã¼ãã¼ã«éãããä¸é£ã®ãã©ã¡ã¼ã¿ãå«ãã URLã示ãã¾ãã
http://localhost/users/create?user[first_name]=dhanabal&user[last_name]=arumugam&arr []=1&arr []=7&arr []=3&id=15
ãRailsã®ã¦ã¼ã¶ã¼ã§ããã°ãusers
ã¯ã³ã³ããã¼ã©ã¯ã©ã¹UsersController
ãæããcreate
ã¯UserController
ã¯ã©ã¹å
ã®ã¡ã½ããã§ãããã¨ãããã«åããã§ãããã
ã次ã®é¨åããcreate
ã¡ã½ããã®ãã©ã¡ã¼ã¿ã«ãªãã¾ãã
"user[first_name]=dhanabal&user[last_name]=arumugam&arr[]=1&arr []=7&arr []=3&id=15"
ãé常ãURLãã©ã¡ã¼ã¿ã¯ããname=tom&age=21ãã®ããã«ãåç´ãªåå/å¤ãã¢ã¨ãã¦éä¿¡ããã¾ããRailsã®è¦åã§ãããã©ã¡ã¼ã¿ã¯åå/å¤ãã¢ã¨ãã¦éä¿¡ããã¾ãããè¥å¹²ã®ç¸éç¹ãããã¾ããRailsã§ã¯ããã©ã¡ã¼ã¿ã®å¼ã渡ããç°¡ç´ åããã¢ãã«ãªãã¸ã§ã¯ãã¨ã¢ãã«å±æ§ã«ãã£ã¦ãã©ã¡ã¼ã¿ã修飾ããã¨ããæ¹æ³ã§ãªãã¸ã§ã¯ããªã¬ã¼ã·ã§ãã«ãããã³ã°ãè¡ãã¾ããä¸è¨ã®ä¾ã§ã¯ãuser
ã¯ã¢ãã«ï¼ãã¼ãã«ï¼ã¦ã¼ã¶ã¼ã«ãããã³ã°ãããfirst_name
ã¯ã¢ãã«ã¯ã©ã¹ï¼ãã¼ãã«ã¦ã¼ã¶ã¼ã®first_nameåï¼ã®first_name
å±æ§ã«ãããã³ã°ããã¾ãã
é å
ãRailsã§ã¯ãå¤ã®é
åããã©ã¡ã¼ã¿ã¨ãã¦éä¿¡ãããã¨ãã§ãã¾ãããªã¹ã1ã§ã¯ãå¤arr []=1&arr []=7&arr []=3
ã¯é
åã表ãã¾ããé
åã®ååã¯ãarrãã§ãå¤ã¯ããããã¤ã³ããã¯ã¹0ã1ãããã³2ã«ãããã¾ãã
Railsãã©ã¡ã¼ã¿ã¨HashMap
ããã¹ã¦ã®URLãã©ã¡ã¼ã¿ã¯ãRailå é¨ã§ã¯HashMapã¨ãã¦è¡¨ããã¾ããããã¯ãURLãã©ã¡ã¼ã¿ã¯åç´ãªæåå以å¤ã§ã¯éä¿¡ãããªãã¨ããä¸è¬çãªèãã«åãã¦ãã¾ãï¼ã¨ã¯è¨ããRailsã§ã¯åç´ãªæååã¨ãã¦ãã©ã¡ã¼ã¿ãèªã¿è¾¼ããªãã¨ããããã§ã¯ããã¾ããï¼ãä¸è¨ã®ä¾ã§HashMapã¨ãã¦ãã©ã¡ã¼ã¿ãå é¨çã«ãããã³ã°ããæ§åããå³1ã«ç¤ºãã¾ãã

ãå³1ãè¦ãã¨ä¸ç®çç¶ã§ãããRailsã§ã¯ã主ãªURLãã©ã¡ã¼ã¿ãããã¼ã¨å¤ãå«ãåç´ãªHashMapã«ãããã³ã°ãã¦ãã¾ããå¼ã渡ããã id
ãã©ã¡ã¼ã¿ã«ã¤ãã¦ã¯ãå¤15ããå¤ã»ã¯ã·ã§ã³ã«ç´æ¥ä¿æããã¾ãããã ããuser
ã®ãããªè¤éãªãã©ã¡ã¼ã¿ã®å ´åã¯ãå¤ãã£ã¼ã«ãã«ã¯HashMapã®ã¢ãã¬ã¹ãä¿æãããå®éã®å¤ãããã«ç½®ããã¾ããé
åarr
ããuser
ãã©ã¡ã¼ã¿ã¨åæ§ã«å¦çããã¾ãã
Railsã³ã¼ãã¨ãã©ã¡ã¼ã¿ã®HashMap
ãURLãã©ã¡ã¼ã¿ã®å 容ã¨ãRailsããã®URLãã©ã¡ã¼ã¿ãã©ã®ããã«æ§é åãã¦ããããåæãã¦ã¿ãã¨ããã©ã¡ã¼ã¿ãç°¡åã«æ¸¡ãæ¹æ³ãè¦ãã¦ãã¾ããä¾ãã°ãªã¹ã2ã®ãããªã³ã¼ããèãããã¾ãã
1 params.each {|key,value| 2 puts "key=>#{key}" 3 if value.class.to_s != "String" 4 value.each {|k,v| 5 puts "Hash inner key=>#{k}" 6 puts "Hash inner value=>#{v}" 7 8 elseif value.class.to_s != "array" 9 puts "Hash inner key=>#{key}" 10 puts "Hash inner value=>#{value}" 11 else 12 puts "single Hash=>#{value}" 13 end
ããªã¹ã2ã®ä¾ã§ã¯ãè¡1ã§URLãã©ã¡ã¼ã¿ãå®éã«è§£æããã¾ããRailsã§ã¯ãURLãã©ã¡ã¼ã¿ã¯ããã©ã«ããªãã¸ã§ã¯ãparams
ã«ä¿åããã¦ãã¾ããparams
ã¯ããã·ã¥ãã¼ã¿æ§é ãåãã¦ãã¾ããkey
ãã·ã³ãã«ãªå¤ã®å ´åã¯ãè¡12ã§ç¤ºãããã«åºåããã¾ããä»åã®ä¾ã§ã¯ãkey
ãã£ã¼ã«ãã«ã¯ãããããuser
ãid
ãããã³arr
ãä¿æãããå¯è½æ§ãããã¾ãããã©ã¡ã¼ã¿ã®ã¿ã¤ããé
åã§ããå ´åï¼ã¤ã¾ãarr
ãã©ã¡ã¼ã¿ã®å ´åï¼ããåæ§ã«å¤ãåºåããã¾ããããããuser
ã®ãããªè¤éãªã¿ã¤ãã®å ´åã¯ãå¤ã¯ããã«è§£æããããµããã¼ã¨ããããã®å¤ãæ½åºããã¾ããuser
ã®å ´åããã以éã®ç¹°ãè¿ãã«ããã¦ããµããã¼ãk
ããå¤ first_name
ããã³last_name
ãããããä¿æãã¾ãã