Kaigi on Rails 2025 Day2 https://kaigionrails.org/2025/talks/naro143/#day2
ã¢ããªã±ã¼ã·ã§ã³éçºããã¦ããã¨ã¢ãããã¯ã«å®è¡ãããã¹ã¯ãªãããããæã大éã®ãã¼ã¿ãå¦çãããã¨ããªã©ããããå¦çãæ¸ããããªãæã£ã¦ããã¾ãããã Railsã§ãããå¦çãæ¸ãéã«ãã使ããã¦ããæ¹æ³ã¨ãã¦æåãªãã®ãä¸è¨ã®3ã¤ã ã¨æãã¾ãã rails runner ã¹ã¯ãªããã¨ãã¦ããããæ¸ã rake task ãã«ãã¿ã¹ã¯ã¨ãã¦ããããæ¸ã sidekiq éåæå¦çã¨ãã¦ããããæ¸ã ã¢ããªã±ã¼ã·ã§ã³ãæ°è¦éçºããéããããå¦çã®ããªã¬ã¼ãrails runnerã使ç¨ãããrake taskã使ç¨ãããã§è¿·ã£ãã®ã§ã¾ã¨ãã¦ã¿ã¾ããã sidekiq使ãå ´åããããå¦çå ã§å¼ã¶æ³å®ãªã®ã§sidekiqã§ã®ãããå¦çã«ã¤ãã¦ã¯ã¾ã¨ãã¦ãã¾ããã å ã«çµè«è¨ã£ã¦ããã¨ããããå¦çãè¡ãã¨ãã観ç¹ã§ã¯rails runnerãrake taskãããã¾ã§å¤ãããªããã§ãã Rai
æ¦è¦ å æ¥å ¬éããèªåã®ãµã¼ãã¹ãhttpsæ¥ç¶ã§ããããã«ãããã¨æãã¾ããã SSLè¨¼ææ¸ã¯ãã©ããå®ãã¦ä¿¡é ¼ã§ããã社å ã®ä¸å¸ã§ç¸è«ããã¨ãããè¿ãã«ããã¤ã³ã¿ã¼ã³çããAWSãªãç¡æã§çºè¡ã§ãã¾ããããã¨ãã¤ã¹ãªã¢ããã¤ã¹ãããã¾ããã ãã£ãã調ã¹ã¦ãSSLè¨¼ææ¸ãåå¾ããã®ã§ããããããä¸ã«ã¯æççãªæ å ±ãããªãæã£ããããè©°ã¾ã£ãã®ã§ãããããåå¾ããæ¹ã®ããã«ãããããããç»åã§è§£èª¬ãã¾ãã åæ ä»åã¯ãç¡æã§SSLè¨¼ææ¸ãå©ç¨ã§ããAWS Certificate Managerï¼ACMï¼ã使ãã¾ãã ã¢ã¸ã¢ãã·ãã£ã㯠(æ±äº¬)ã¯ãELBï¼ãã¼ããã©ã³ãµã¼ï¼ã®ã¿ã«ACMã使ç¨ãããã¨ãã§ãã¾ãã ãªã®ã§ãELBãå©ç¨ãã¦ããªãã¨ãç¡æã®SSLè¨¼ææ¸ã使ããã¨ãã§ãã¾ããã ã¡ãªã¿ã«ãELBã¯ææã§ãããã©ã«ãã§æ2000åãããæããã¾ãã ãã使ç¨ãããæ¹ã¯ä»¥ä¸ã«è¨å®
ä»åã¯Webpackerã®å°å ¥ã«ã¤ãã¦æ¸ãã¦ããã¾ãã å 容çã«ã¯æå¢ã¤ãã¾ããã®å 容ã§ãããå°å³ã«ä½ç³»çã«ã¾ã¨ã¾ã£ã¦ãããã®ããªãã£ãã®ã§ã¾ã¨ãã¦ã¿ã¾ããï¼ ããããã㨠Railsã§ã¢ãã³ãªJSãã¬ã¼ã ã¯ã¼ã¯(Vue.jsãReactãªã©)ã使ããã ã¨ã¯ããSPAã¾ã§ã¯å¿ è¦ãªãã¦Railså ã§å®çµããã Webpakcerå°å ¥ Railsã§ã¢ãã³ãªJSãã¬ã¼ã ã¯ã¼ã¯ãªã©ãå©ç¨ããéã«ã¯Webpackerãå°å ¥ãã¦è¡ãã¾ãã Webpakcerã¯Rails5.1以éããrails newã®æ®µéããå°å ¥ã§ããããã«ãªã£ã¦ãã¾ãã ã¾ãWebpackerã¯yarnã«ä¾åãã¦ããããyarnãã¤ã³ã¹ãã¼ã«ãã¦ããå¿ è¦ãããã¾ãã ä»åã¯rails newããã§ã¯ãªããéä¸ã®ããã¸ã§ã¯ãããWebpakcerãå°å ¥ãã¦ããã¾ãã yarnã¤ã³ã¹ãã¼ã« https://yarnpkg.com/l
æ¢åã® Rails ã¢ããªã« Webpacker ãå°å ¥ãããã¨æãã¾ãã Webpacker 㯠JavaScript ã ãã管çã㦠css ãç»åã¯å¾æ¥éã Sprockets çã«ã¾ããããã¨ãã£ãä½¿ãæ¹ããããã¨ãã§ãã¾ãã ãããä»å㯠JavaScript/Css/Image ãã¹ã¦ã Webpacker ã§ç®¡çãããã¨ãç®æ¨ã«ãã£ã¦ããã¾ãã Webpacker ãã¤ã³ã¹ãã¼ã« Gemfile ã« webpacker ã追å ãã¦ã¤ã³ã¹ãã¼ã«ãã¾ãã gem 'webpacker' bundle bin/rails webpacker:install ãã£ã¬ã¯ããªæ§æ ãã£ã¬ã¯ããªæ§æã¯ä»¥ä¸ã®ããã«ãã¦ã¿ã¾ããã app/javascript: âââ packs: â âââ application.js âââ javascripts: â âââ application
ããã«ã¡ã¯ãGMO ãããã®äººéã§ãããã㯠pepabo Advent Calendar 2016 ã® 9 æ¥ç®ã®è¨äºã§ãã æ¨æ¥ã¯æãã CTL ããã¡ããããããã® ãgemãã«ããããã¨ã㦠The validation error was 'yourgem-x.y.z contains itself (yourgem-x.y.z.gem), check your files list ã¨åºãã¨ãã ã§ããã 仿¥ã¯ Ruby, ã¨ãã« Rails ã§ä½¿ãã enumeration å®è£ Enumerize ActiveRecord::Enum ã®æ©è½ãæ¯è¼ãã¦ã¿ã¾ããã åæ© ç§äºãªãããä»äºã§ Rails ã¢ããªã±ã¼ã·ã§ã³ã®éçºãããããã«ãªã£ã¦ 1 ãæçµã¡ã¾ããã ã³ã¼ããèªãã§ããã¨ããããã¨åå¼·ã«ãªããã¨ãå¤ãã®ã§ãããEnumerize ã¨ãã enumeration
ããããå¤ãã®ã½ã¼ã·ã£ã«ç³»ã¢ããªã«ãã¦ã¯ã¾ãRailsã®ããã»ãã¶ã¤ã³ãã¿ã¼ã³çãªè©±ã ã¼ããä»ãã£ã¦ããEast Meet Eastã«ã¯ãã¦ã¼ã¶ãã¨ã«æ°å¤ãã®ãããã£ã¼ã«å±æ§ãããã¾ããååãæ§å¥ãçå¹´ææ¥ãéµä¾¿çªå·ãè·æ¥ãªã©ãªã©ãã«ã©ã æ°ã«ãã¦ãã£ã¨25åãããããå ¨é¨ã²ã¨ã¤ã®usersãã¼ãã«ã«è©°ãè¾¼ãã®ã¯ãã³ã¼ãã®è¦éãã¨ãã観ç¹ãããæ§è½ã®è¦³ç¹ãããããã¾ãããããããã¾ããã ãªããªãã°ãã¦ã¼ã¶é¢é£ã®æ å ±ãæ±ãå±é¢ã¨ãã¦ã¯ä¸»ã« ã¡ã¼ã«ã¢ãã¬ã¹ã¨ãã¹ã¯ã¼ããªã©ã使ã£ã¦ãã°ã¤ã³ããï¼ã¢ã«ã¦ã³ãæ å ±ï¼ ãããã£ã¼ã«æ å ±ã§æ¡ä»¶ãæå®ãã¦ã¦ã¼ã¶ãæ¤ç´¢ã»æ¨è¦ããï¼ãããã£ã¼ã«æ å ±ï¼ ã¨ããï¼ã¤ã®ç¬ç«æ§ã®é«ãã¦ã¼ã¹ã±ã¼ã¹ã«ããããããããã°ã¤ã³å¦çããã£ã¦ãã¨ãã«ã¯ãããã£ã¼ã«æ å ±ã¯ãããªããããããã£ã¼ã«ãæ¤ç´¢ãã¦ãã¨ãã«ã¯ã¡ã¼ã«ã¢ãã¬ã¹ããã¹ã¯ã¼ãããã¼ãããã®ã¯ç¡é§ã§ããã¾ããéçºãã
2018.10.16 Rails5.1/5.2: `rails new`ãããå¾ã«ãyarn/webpackerã§jQueryã¨Bootstrap 4ã追å ãã Rails 5.1ã5.2ã§rails newããå¾ã§webpackerã§jQueryãBootstrap 4ãè¶³ããããªã£ãã¨ãã®æé ãã¡ã¢ãã¾ããBootstrap 4ã®ã¤ã³ã¹ãã¼ã«ã¯ãã§ããã ãTwitterãªãã¸ããªã®å ¬å¼æ å ±ã«æ²¿ãããã«ãã¾ããã 1. jQueryãWebpackerã§å¾ãã追å ãã yarnãã¤ã³ã¹ãã¼ã«ããã¦ããªãå ´åã¯brew install yarnã§yarnãã¤ã³ã¹ãã¼ã«ããï¼Macã®å ´åï¼ yarnãã¤ã³ã¹ãã¼ã«ããã¦ãããã©ããã¯yarn -vã§ç¢ºèªã§ãã¾ãã Gemfileã«gem 'webpacker', github: 'rails/webpacker'ã追å ããbundle ins
ä¸éã§ã¯ GW ã§ãããçããããããéããã§ããããããã¡ãã¯ä»äºãè½ã¡çãã¦ãããããç´è¿ã®ããã¸ã§ã¯ãã§ããããæéã使ãç¾½ç®ã«ãªã£ã Webpacker ã«ã¤ãã¦ã®ããã°è¨äºãæ¸ããã¨ã«ãã¾ããã ã¯ããã« Ruby on Rails ã§ã¯ Sprockets ã¨ããã¢ã¸ã¥ã¼ã«ï¼ï¼ï¼ã«ãã£ã¦ãJavaScript, CSS, ç»åãªã©ã®ã¢ã»ããã管çããäºãåºæ¥ã¾ãããã㯠Rails ç¬èªã®ä»çµã¿ã§ãããããã«ããåé¡ç¹ãªã©ãç®ç«ã¤ããã«ãªã£ããããããã³ãã¨ã³ãçéã§åºã使ããã¦ãã Webpack ã使ãããã¨ããè¦æã¯ä»¥åãããã£ãããã§ããï¼ãã®è¾ºãã®çµç·¯ãªã©ã¯ãæ¤ç´¢ããã°è²ã åºã¦ããã®ã§ãããã§ã¯è¨è¼ãã¾ãããï¼ ããããè¦æã«å¿ãããã®ã Webpacker ã§ãç°¡åã«è¨ã㨠Webpack ã®æ©è½ã Rails ã«çµã¿è¾¼ãã ãã®ã§ã使ãå´ããããã¨ä¸»ã«ä»¥ä¸ã®2ã¤ã®æ©
2018.10.01 é±åRailsã¦ã©ããï¼20181001ï¼Railsã¢ããã°ã¬ã¼ãè¨äºã¨åç¨®æ¯æ´ãã¼ã«ãCLIåãRubyã¯ã³ã©ã¤ãã¼éãRubyã¢ããªãã¯ã³ãã¤ããªåã»ã ããã«ã¡ã¯ãhachi8833ã§ããã¤ãã«Gobyã®REPLãä¿®æ£ã§ãã¾ããã åè¨äºåé ã«ã¯âã§ãã¼ããªã³ã¯ãç½®ãã¦ããã¾ã: 社å ãTwitterã§ã®è°è«ãªã©ã«ã©ãã ãã¤ã£ã¤ããã¤ã¹ãã¯Railsã¦ã©ããå ¬éåãã©ãããç¤¾å æå¿ã§ã¤ã£ã¤ããã¨ãã®ä¼è©±ã§ãð ä»åã®ã¤ã£ã¤ãã¯è»½ãã§ãéããã¾ãðã âããç¥ãããé±åRailsã¦ã©ãããå ¬éã¤ã£ã¤ãä¼ã#3éå¬ ã¨ã³ããª: é±åRailsã¦ã©ãã å ¬éã¤ã£ã¤ãä¼ ç¬¬3åï½ITåå¼·ä¼ãªãTECH PLAYï¼»ããã¯ãã¬ã¤ï¼½ ããããä»é±ã¨ãªãã¾ãããé±åRailsã¦ã©ãã å ¬éã¤ã£ã¤ãä¼ ç¬¬3åãï¼10æ4æ¥ï¼æ¨ï¼19:30ãï¼å¼ãç¶ãå¿åä¸ã§ãï¼ã¤ã£ã¤ãã»æ
身é·ä½éãå¤ãã£ã¦ããªãã«ãé¢ãããã5å¹´åããä½èèªçã4.5%å¢å ããã¨ã³ã¸ãã¢ã®æä¸(@pipopotamasu)ã§ãã æ¬æ¥ã¯9/12(æ°´)ã«éå¬ããMedBeerã¨ããã¤ãã³ããå ±åãããã¨æãã¾ãã medpeer.connpass.com @GINZA SIX 12F æ ªå¼ä¼ç¤¾ãªã³ã¯ã¢ã³ãã¢ããã¼ã·ã§ã³å ã¤ãã³ãã¹ãã¼ã¹ MedBeerã¨ã¯? MedBeerã¨ã¯ãå¹´1åãããã®ãã¼ã¹ã§ã¡ããã¢ã主ä½ã¨ãªã£ã¦è¡ãªã£ã¦ããæè¡ã¤ãã³ãã«ãªãã¾ãã åºæ¬çã«Railsã«é¢ãããã¨ããã¼ãã«çºè¡¨ãè¡ããä»åã§4åç®ã®éå¬ã¨ãªãã¾ããã 第1åããçã ã¨è¦æ¨¡ã大ãããªã£ã¦ãããååã¯ç´60åãä»åã¯ç´120åç¨ãåå ããã¾ããã ã¾ããBeerãã¨ããåãã¤ãã¦ããã®ã§ã10種é¡ã»ã©ã®ãã¼ã«ã¨ããã«ãã¤ã¾ã¿(ä»åã¯ããããã¨ã³ã¸ãã¢ãåå ããã¨ãããã¨ã§ããã®ã§ãæ¥æ¬ã§åãã¦å¤é£ã¡ã
次è¨äº: Railsã¯2018å¹´ãç¾å½¹ãï¼: ä¸ç·¨ï¼ç¿»è¨³ï¼ æ¦è¦ åèè ã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: Is Rails still relevant in 2018 ? åæå ¬éæ¥: 2018/08/16 èè : equivalent è¨äºã¯3åå²ãã¾ãããç»åã¯å è¨äºããã®å¼ç¨ã§ãã Railsã¯2018å¹´ãç¾å½¹ãï¼ï¼ç¿»è¨³ï¼ Rubyããå¥ã®ä½ãã«ä¹ãæãããã¨ãæ¤è¨ä¸ã®Webéçºè ãããæ°æ¥åã«ãããªã¡ã¼ã«ãåãåãã¾ããã ã¾ã£ããæ°è¦ããå§ããã¨ããããããã¯ã¨ã³ãã«RubyãElixirãJSã®ã©ããé¸ã¶ï¼ ãã®ã¡ã¼ã«ã§ä»ã«éè¦ã¨æãããé¨åã¯ãç¾å¨ã®å½¼ã¯ãã£ã±ãèªåã®ãµã¤ãããã¸ã§ã¯ãã«é¢å¿ãå¯ãã¦ãããã¨ã¨ãä¸»ãªæ¸å¿µç¹ã¯éçºé度ã¨éçºã®ããããã§ããã¨ãããã¨ã§ãã ã¡ã¼ã«ã«è¿ä¿¡ãæ¸ãå§ããã®ã§ããéåã¨é·ããªã£ã¦ãã¾ã£ãã®ã§ããã®éè¨äºã«ãããã¨ã«ãã¾ãã
ã¯ããã¾ãã¦ã2018å¹´7æå ¥ç¤¾ã® sue445ã§ããèªç§°ããã«ã¹ã¿ãã¯ãã¥ã¢ã¨ã³ã¸ãã¢ãã§ããæè¿ã¯pixiv PAYã®ãã¼ã ã§Railsãæ¸ããã社å gemãä½ã£ãããã¦ãã¾ãã 好ããªããªãã¥ã¢ã¯ãã¥ã¢ãã¼ã¹ã§ãã åç½®ã å æ¥Rails 5.2.1ããªãªã¼ã¹ããã¾ãã https://weblog.rubyonrails.org/2018/8/7/Rails-5-2-1-has-been-released/ pixiv PAYã§ããã®å¯¾å¿ãè¡ã£ã¦ãã¦ãå æ¥æ¬çªç°å¢ã«Rails 5.2.1ãæå ¥ãã¾ãã ðª ã°ã°ãã¨ç¹å®ã®ãã¼ã¸ã§ã³ã§ã®ã¢ãããã¼ãæ¹æ³ã¯ããããè¦ã¤ããã®ã§ãããã©ã®ãã¼ã¸ã§ã³ã§ã使ããæ±ç¨çãªæ¹æ³ãæå¤ã«ãªãã£ãã®ã§ç´¹ä»ãããã¨æãã¾ãã Rails 4.1系以éã¯ã ããããã®æ¹æ³ã§ã¢ãããã¼ããã¦ããã®ã§ãããªãã«å®ç¸¾ã®ããææ³ã ã¨æãã¾ãã çè ã¹ãã㯠åã
ã¡ãã£ã¨ç ½ãæ°å³ã®ã¿ã¤ãã«ã«ãã¦ã¿ã¾ããããRailsã§éçºããæã¯æèçã«OOPã«å¯ããªãã¨ãªãã¸ã§ã¯ãã®åãæ´»ãããªããªããã£ã¦ãã¨ã¨ãRailsãæä¾ãã¦ããã¯ã©ã¹ã®è²¬åãåå²ãããã¨ãæ¯æ´ãã¦ãããæ©è½ã«ã¤ãã¦è©±ããã¾ãã ActiveRecordã®æ§è³ª Railséçºã«ããã¦ã¯ãã¢ãã«å±¤ã«ãã¸ãã¯ãæ¸ãã¦ã³ã³ããã¼ã©ã¼ã¯èããããã¨ããã®ã¯ãã¤ããè¨ããã¦ããã®ã§ãæ¦ã浸éãã¦ãã¦ããã¨æãã¾ãã ããã«å ãã¦ãæè¿ç§ãçµæ§ãã¤ãã主張ãã¦ããããã®ããã¢ãã« = ActiveRecordã§ã¯ç¡ãããã¨ãããã¨ã§ãã ActiveRecordã¯æãç«ã¡ããè¨ãã¨ããã¸ãã¯ã¨DBã¸ã®æ°¸ç¶åãã¾ã¨ãã¦ã«ãã»ã«åããã¢ã¼ããã¯ãã£ãã¿ã¼ã³ããæ¥ã¦ãã¾ãã(詳ããã¯ã¨ã³ã¿ã¼ãã©ã¤ãºã¢ããªã±ã¼ã·ã§ã³ã¢ã¼ããã¯ãã£ãã¿ã¼ã³ã¨ããæ¸ç±ãèªãã¨è¯ãã§ã) ãã®æ¹æ³ã¯ãã¸ãã¯ãè¤éã§ãªãå ´åãã¤ã¾
ã¢ããªã±ã¼ã·ã§ã³ã¯ãªãã¹ãåç´ãªæ¹ãè¯ããmodelã®ä¸ã«ããè¤éããæ°ããã©ãããä¾ãã°moduleã¨ãã¯ã©ã¹ã¨ãã«ç§»åãããã¨ã«ãã£ã¦åç´ã«ãã¦ããã¨ããã¢ããã¼ããèãã¦ã¿ããã 以ä¸ã®ãããªãªã³ã©ã¤ã³ã·ã§ããã³ã°ã¢ããªã±ã¼ã·ã§ã³ã®ããã®ã¢ãã«ãèãã¦ã¿ããã¯ã©ã¹ã¡ã½ããã¨ãã¦ãç¶æ ã«ãã£ã¦orderãæ¤ç´¢ããã¡ã½ãããææ®µããã¦ãã¦å ¨æ¤ç´¢ããã¡ã½ãããçµæãxml,json,pdfãªã©ã®ãã©ã¼ãããã«exportããã¡ã½ãããæã£ã¦ããã # app/models/order.rb class Order < ActiveRecord::Base def self.find_purchased # ... end def self.find_waiting_for_review # ... end def self.find_waiting_for_sign_off # ... e
æ¦è¦ åèè ã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: Adding GDPR Compliance to My Rails App and Technical Blog åæå ¬éæ¥: 2018/05/14 èè : PaweÅ Urbanek ç»åã¯å è¨äºã®å¼ç¨ã§ãã åè: EUä¸è¬ãã¼ã¿ä¿è·è¦å - Wikipedia EUä¸è¬ãã¼ã¿ä¿è·è¦åï¼GDPR EUï¼ãå¾2é±éãããªããã¡ã«æ½è¡ããã¾ããæ¬è¨äºã§ã¯ãç§ãèªåã®Rails SaaSã¢ããªã«å ããGDPRã³ã³ãã©ã¤ã¢ã³ã¹å¯¾å¿ã¨ãã®ããã°èªèº«ã«ã¤ãã¦è§£èª¬ãã¾ãã ã¢ããªã¯ããã¨ãEUåå ã«é ç½®ããã¦ããªãã¨ãã¦ããã®æ°ããè¦åã«æºæ ããªããã°ãªãã¾ãããã¢ããªã«ã¨ã¼ãããã®ã¦ã¼ã¶ã¼ãããã°è©²å½ãã¾ãã å 責äºé : ç§ã¯æ³å¾ã®å°éå®¶ã§ã¯ããã¾ãããã¾ãæ¬è¨äºã¯æ³çãªå©è¨ã«åºã¥ãããã®ã§ã¯ããã¾ããã GDPRã³ã³ãã©ã¤ã¢ã³ã¹ãå¿ è¦
Railsã®ãã°åé¡ ä¾¿å©ãªãã¨ã«Railsã¯ç¹ã«è¨å®ããªãã¦ãproduction.logã«ãã°ãåãã¦ããããã¨ã©ã¼ã¡ãã»ã¼ã¸ãSQLæãåºåãã¦ãããã®ã§å©ããåé¢ã以ä¸ã®ãããªåé¡ç¹ãããã 1ãªã¯ã¨ã¹ãã§è¤æ°è¡æµããã®ã§ãã¨ã©ã¼èª¿æ»ãç·æ¥å¯¾å¿æã«grepã§ããªã ããã©ã«ãã ã¨è¥å¹²åé·ããã Fluentdçã®ãã°ã®æ´»ç¨ãèããéã«ãã¼ã¹ãé常ã«é¢å Rails.loggerããªã¬ãªã¬ã«ã¹ã¿ãã¤ãºããã®ãç¡ãã¯ãªãããã¡ã³ããã³ã¹ã®ãã¨ãèãã¦ããã°åºåç¨ã©ã¤ãã©ãªLogrageã使ã£ã¦JSONå½¢å¼ã®ãã°ãã¹ãã¼ãã«åºåããããã«ããã Logrageã¨ã¯ Railsã®ãã°ã®ããæãã«åºåãã¦ãããã©ã¤ãã©ãª https://github.com/roidrage/lograge ã¡ãªã¿ã«Logrageã®èª¬æã§ã¯Railsã®ããã©ã«ããã°ããnoisy and unusable,
æ¦è¦ åèè ã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: Say no to chained scopes! åæå ¬éæ¥: 2015/06/24 èè : Jeroen Weeink ãµã¤ã: Crafting Ruby æ¥æ¬èªã¿ã¤ãã«ã¯å 容ã«å³ãããã®ã«ãã¾ããã 2018/04/18: åçå ¬é 2023/02/14: æ´æ° Railsã¢ããªã§ã次ã®ããã«ã¢ãã«ã®ãã¼ã¿ãã¼ã¹ã¹ãã¼ãã®å é¨ã«ã¾ã§ç«ã¡å ¥ã£ã¦ããï¼ã³ã³ããã¼ã©ï¼ã³ã¼ããããè¦ããã¾ãã class Person < ActiveRecord::Base enum gender: { male: 1, female: 2 } end class PeopleController < ApplicationController def index @people = Person.where(gender: Person.ge
ã¾ã以ä¸ã®ãããªãæ ¹ãã¼ãï¼è¦ªãæããªããã¼ãï¼ãèãã¼ãï¼åãæããªããã¼ãï¼ãä¸ä»£ããã¼ã¨ããmapãåå¾ããã¯ã©ã¹ã¡ã½ããã使ããããã«ãªãã¾ãã Comment.roots # => [[飿¥ãªã¹ãæé«ï¼],[ããã«ã¡ã¯]] Comment.root # Comment.roots.first ã¨åã # => [飿¥ãªã¹ãæé«ï¼] Comment.leaves # => [[ã·ã³ãã«ã§ããã§ããã],[å ¥ãåéåã¢ãã«ã®æ¹ãè¯ãã§ãã], [ããã«ã¡ã¯ã]] Comment.generations # => {0=>[[飿¥ãªã¹ãæé«ï¼],[ããã«ã¡ã¯]], # 1=>[[ã·ã³ãã«ã§ããã§ããã],[ã¢ã³ããã¿ã¼ã³ã§ãããçµè·¯åæã¢ãã«ä½¿ãã¾ããã]], # 2=>[[å ¥ãåéåã¢ãã«ã®æ¹ãè¯ãã§ãã]]} ã¾ãã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã§ããã°ã#parentã§è¦ªãã¼ãã#ances
æ°ããRailsããã³ãã¨ã³ãéçºï¼1ï¼Asset PipelineããWebpackã¸ï¼ç¿»è¨³ï¼ æ°ããRailsããã³ãã¨ã³ãéçºï¼2ï¼ã³ã³ãã¼ãã³ããã¼ã¹ã§ã¢ããªãæ¸ãï¼ç¿»è¨³ï¼ æ°ããRailsããã³ãã¨ã³ãéçºï¼3ï¼Webpackã®è©³ç´°ãActionCableã®å®è£ ã¨Herokuã¸ã®ãããã¤ï¼ç¿»è¨³ï¼ æ¦è¦ åèè ã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: Evil Front Part 1: Modern Front-end in Rails åæå ¬éæ¥: 2017/12/05 èè : Andy BarnovãAlexey Plutalov ãµã¤ã: Evil Martians åæ¸ã æ¬è¨äºã¯ãããã³ãã¨ã³ãã®ãã¬ã¼ã ã¯ã¼ã¯ã«ä¾åããªãRailsãã¬ã¼ã³ãã¼ã·ã§ã³ãã¸ãã¯ãç¾ä»£çãã¤ã¢ã¸ã¥ã¼ã«åä½ãã¤ã³ã³ãã¼ãã³ããã¼ã¹ã§æ±ãæ¹æ³ãç¬æã«åºãã¦è§£èª¬ããã¬ã¤ãã§ãã3鍿§æã®ãã¥
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}