ãã®èšäºã¯2014幎6æããã«å€§éšåãæžããã®ã§ãçŸåšã®railsãšã¯ç°ãªãéšåããããŸãã
ãŸã åç
§ããŠãã ããæ¹ãããã®ã§ãããããªãå€ãããããŸããå§ãã§ããŸãã
â»åé€ãã§ããªãããæ®ããŠãããŸãã
ã¯ããã«
ãã®æçš¿ã¯æ¬æ Œçã«ããã°ã©ãã³ã°ã«æã¡èŸŒãã ããšã®ãªã人åãã«ãRuby on Rails TutorialãéããŠããã°ã©ãã³ã°ãåŠç¿ããŠããããšãããã®ã§ãã
ãã®ãµã€ãã¯éåžžã«ããåºæ¥ãŠããŸãã®ã§ãïŒâ»åºç€çãªããã°ã©ãã³ã°åããããã°ïŒã¬ãã¹ã³ãåçŽã«ãªããã ãã§ã誰ã§ãWebã¢ããªã±ãŒã·ã§ã³ãåºæ¥ãŠããŸããŸãã
ã§ããããã®ãã¥ãŒããªã¢ã«ã¯å
¥éã«ã¯é£ããããŸãã
ãªã®ã§ãåºç€çãªããã°ã©ãã³ã°åãæã£ãŠããããRailsTutorialãèªåã§ããªãããšãã§ããªã人ã®ããã«ã èªåã§RailsTutorialãé²ããããããã«ãªããšãããŸã§ããµããŒãããŸãã
â»ãã®æçš¿ã ãã§ããã£ããé£ãããšã¯æãã®ã§ãããããªããšãããèããçžæãªã©ãããã°ãã¹ãã§ãã(æ«æãããâ)
ãã®æçš¿ã®ãŽãŒã«
å
·äœçã«ã¯ããã¥ãŒããªã¢ã«ã®ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãèªåã®PCã§åãããããã«ãªããšãããŸã§ããããŸãã
äž»ãªæ©èœã¯ããŠãŒã¶ãŒç»é²ãšãã°ã€ã³ããã€ãŒãããã©ããŒãã¿ã€ã ã©ã€ã³è¡šç€ºãªã©ããããŸãã
å šãã®åå¿è ã¯ãç¿ãããæ £ããã
ã¡ãªã¿ã«ããã®æçš¿ã¯èª¬ææãããªãæžãããŠããŸãã
ãã®æçš¿ã§ã¯ããã°ã©ãã³ã°ãããã«ããã£ãŠãäœæ¥ã«ã¡ãã£ãšæ
£ããã ãã§ãç¥èã¯ã»ãšãã©ä»ããŸããã
ãšããã®ããåå¿è
ã«ãšã£ãŠåé·ãªèª¬æã¯æå³äžæãªåèªã®çŸ
åãšãªã£ãŠããŸãããã§ãã
ããããã®ã€ã¡ãŒãžãæŽãã ãããšã«ããæåã¯åãããŠã¿ãããããåºæ¬ãšããŠããŸãããããããå°ããã€èªåã§èª¿ã¹ããªãããŠç¥èããã®ã«ããŠã¿ãŠãã ããã
åãçµãã«ããã£ãŠ
- æäœéã»ããã¬ãã«
- PCã¯åé¡ãªãã«äœ¿ããããã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããŠäœ¿ã£ãŠäœãåé¡ããã£ããšããšãã¯ã°ã°ã£ãŠç¶æ³æç Žã§ãããããã®åããã
- ïŒããããã°ïŒååãªæ°ãããã¬ãã«
- åŠæ ¡ã®ææ¥ãšãã§ããã°ã©ãã³ã°ãããããšãã
ããšã¯ãã€ã³ããšãã¯ç¥ããŸãããããšãããããããããã¯å¿ èŠã§ãã
- ã¡ãããšç¶ç¶çã«åãçµãæéãããããš
- ã ãããããŸããããªãããšã°ãããªã®ã§ããããã°ã°ãåã§çªç Žããæ ¹æ§ïŒãã®æçš¿ã ãã¿ãŠé²ãããããããã®ã§ãããããããããªãããšãå€ãã§ããïŒ
- æ¬åœã«ã€ãŸã£ãæããããããŠèŸããåã«ãèããçžæãããããšïŒãŸãã¯ãããäžã§è³ªåã§ããããšïŒ
â»PCã¯Macåæã§ãããã¿ãŸãããWindowsã§ã®ããæ¹ã¯ææ¡ããŠããªãã§ããã
åèã«ãããµã€ããªã©
åèã«ãããŠã§ããµã€ã
ãã£ãšåæ©çãªéšåã確èªãããæã«åèã«ãããŠã§ããµã€ã
ãããã€ã³ã¹ããŒã« Ruby on Railså
¥é
ãããã€ã³ã¹ããŒã«ã¯åç»ãªã®ã§ç¢ºå®ã«åºç€ã身ã«ã€ããããšãåºæ¥ãä»ã«ãhtmlãªã©ã®ãŠã§ãåºç€ã®åºç€ãåŠã¹ããããŸãã
é¢é£ããŠä»ã®åç»ãèŠããšããã§ãã
RubyãRailsã®åºç€ãçè§£ããŠããããæã«ãããŠã§ããµã€ã
Rubyããããã¯
ãããã€ã³ã¹ããŒã«ãããããã«è©³ãããRubyã®åºç€ãåŠã¹ãŸããéžæåŒã®ã¯ã€ãºãªã©ã§ãç¥èã®ç¢ºèªãåºæ¥ãŸãã
å°åŠçã§ããããRuby on Railså
¥é
ãããããããšæããŸãã
ããã°ã©ãã³ã°ã®è³ªåãµã€ã
ã¹ã¿ãã¯ã»ãªãŒããŒãããŒ
äžçæå€§ã®ããã°ã©ãã³ã°Q&Aãµã€ãã®æ¥æ¬èªããŒãžã§ã³ã§ãã
ãã®ãµã€ãå
ã§æ€çŽ¢ããŠã¿ãããèªåã§è³ªåããŠã¿ãã®ããããšæããŸãã
ããšããšåçãè±å¯ã«æã£ãŠããã®ã§ããšã©ãŒãã°ãªã©ãè±èªã§googleæ€çŽ¢ããã°ãããªãã®ç¢ºçã§ãã®ãµã€ããåºãŠããŸãã
è±èªçã®æ¹ãæ
å ±ãè±å¯ã«ããã£ãŠããã®ã§ãæµæã®ãªã人ã¯ãã²è±èªã§äœ¿çšããŠã¿ãŠãã ããã
http://stackoverflow.com/
ãŸãã¯RailsTutorialãã¿ã
第ïŒç« ã®ãã¯ããã«ããèªãã§ã¿ãŸããããé·ãæç« ã§ãããããã°ã©ãã³ã°ãããããåããŠã®æ¹ã¯ãããªãã ãŒãããã§æžãŸããŸãããã
ãããããã£ãšããŸãã§äœã®è©±ãããŠããã®ãããããªãæããç¶ããŸãããããã§ãèªã¿é£ã°ããã«äžåºŠã¯äžèº«ãé ã«å
¥ããããšã¯å€§äºããšæããŸããïŒæå³ã®åãããªãããšã¯ãã°ã°ã£ãŠãšããããã®ç¥èã«ããŠããããã¹ã«ãŒããŸãããã第ïŒç« ã ãã§ããåã¯äžžïŒæ¥ãããŠãçµãããŸããã§ãããïŒ
ãšã«ãããå§ããåã«ããããŠããããããšã¯ïŒç¹ã§ãã
â $ rails sããªã©ãšãã衚èšã¯ãMacã®ãã¿ãŒããã«ããšããã¢ããªã±ãŒã·ã§ã³ã«æã¡èŸŒããã³ãã³ããã§ããããšãå®éã«ã¿ãŒããã«ãèµ·åããŠã$ããããã®ã確èªããã°åãããšæããŸãã
â¡ config/routes.rb ãªã©ãšãã衚èšã¯ããã£ã¬ã¯ããªïŒãã©ã«ãïŒã®ãã¡ã€ã«äœçœ®ã®ããšãæãã
ãŸãããã®æçš¿ã®äžã§ãäŸãã° (1.2.1éçºç°å¢) ãšããã®ã¯ãRailsTutorialäžã®èŠåºãã®ããšã§ãã
ãšããããšã§ãã¯ãããŠãããŸãããã
éçºç°å¢ãæ§ç¯ãããšããããš (1.2.1éçºç°å¢)
ããã°ã©ã ãåããããã«ã¯ãããããã®ãæºåããå¿
èŠã§ãã
æ¬æžã§ã¯ã æ·æ±°æé ããšèšããŸããããã®ãæºåããä¹ãè¶ããããšãã§ããã°ãããããã®ããã°ã©ãã³ã°äººçã¯ããçšåºŠèªä¿¡ãæã£ãŠæ©ã¿ç¶ãããããšæããŸãã
ã§ãããéã«ããã§æããŠããŸããšããã°ã©ãã³ã°ãšã®çžãå°ãé ã®ããŠããŸããããããŸããã
ãã©ã€ãã人ãæããŠããŸããªããããåŸã ã«ãªãããããã«éäžã§ç°¡åãªã¹ããããããã§ã¯ææ¡ããããšæããŸãã
ãšãã£ã¿ãšã³ãã³ãã©ã€ã³ (1.2.1éçºç°å¢)
ããã°ã©ã ã³ãŒããç·šéãããã®ããšãã£ã¿ãPCã«å¯ŸããŠåœä»€ãæã€ïŒã³ãŒããèªã¿èŸŒãã§å®è¡ãããã®ãªã©ïŒãã³ãã³ãã©ã€ã³ãçšåºŠã®ã€ã¡ãŒãžãæãŠã°ãããšæããŸãã
Tutorialã§ã¯IDEã«ã€ããŠè§ŠããããŠããŸãããããã§ã¯ããã䜿ããã«ãSublime TextãšMacã«ããšããšå
¥ã£ãŠãããã¿ãŒããã«ãã䜿çšããŸãããã
ããããžãã¯åŸã
ãå¥ã®ãã®ã詊ããŠã¿ããã£ããåãæ¿ããã°ããã ãã§ãã£ãŠãããã§éžãã§ããæéã¯ç¡é§ã§ãã
ãã©ãŠã¶ã¯ChromeãSafariãããããããŸãã
Gitã®ã€ã³ã¹ããŒã« (1.2.2RubyãRubyGemsãRailsãGit)
ã¿ãŒããã«ã§ã³ãã³ããæã£ãŠãããã§ãããç°¡åãªæ¹æ³ã§ããã°ãã¡ãã®GitããŠã³ããŒãã§å€§äžå€«ã§ãã
Gitãšã¯ãç°¡åã«ãããšããã°ã©ãå°çšã®ãäœæ¥ä¿åã·ã¹ãã ãã§ãã
ããã°ã©ãã¯è€æ°äººã§ã²ãšã€ã®ã¢ããªã±ãŒã·ã§ã³ãéçºããŠããéã«ãåæäžŠè¡ããŠã²ãšã€ã®ãã¡ã€ã«ãïŒäººã§ç·šéããããšããããããŸãããGitã§äœæ¥ç®¡çãããŠãããªããçªåããŠããŠããããã«äžç·ã«ãŸãšããããšã容æã§ãã
äžå¿è§£èª¬ãµã€ãã玹ä»ããŸããGItãå
åããããæ¹ã¯ã©ããã
ãµã«ã§ããããGitããããã解説ïŒ
Rubyã®ã€ã³ã¹ããŒã« (1.2.2)
ããã§åããŠã³ãã³ãã©ã€ã³ã䜿çšããããšã«ãªããŸãã
ãã£ãããã¿ãŒããã«ãèµ·åããŠãã®$ããŒã¯ã®ãšããã«ruby -vãšå
¥åããŠenterãæŒããŠã¿ãŠãã ããã
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
ããããããªæãã®ãã®ã衚瀺ããããšæããŸãã
ãã®2.1.2p95ãšããéšåãããŒãžã§ã³çªå·ã ãšæã£ãŠãã ãããä»åã¯ã1.9.3以éã§ããã°åé¡ãªãã§ãã
ã§ãããããŒãžã§ã³ãå€ãã£ãæ¹ãããã§ãªãæ¹ãããrbenvãã䜿çšããRubyã®ç®¡çãã§ããããã«ããŠãããŸãããã
æ¬æžã§ã¯rvmã䜿çšããRubyã®ããŒãžã§ã³ç®¡çãããŠããŸãããããã§ã¯rbenvã䜿çšããŸããïŒçç±ãšããŠã¯ãrvmããrbenvã¯ã·ã³ãã«ã§äœ¿ããããç¹ã«ãããŸããïŒ
homebrewãrbenvã䜿çšãã
ãhomebrewããšã¯ãããã°ã©ãã³ã°ã§äœ¿çšãããããããšäŸ¿å©ãªãããã±ãŒãžããšåŒã°ãããã®ãç°¡åã«ã€ã³ã¹ããŒã«ã§ããããã«ãªãããŒã«ã§ãã
ãrbenvããšã¯ãããããããRubyã®ããŒãžã§ã³ãç°¡åã«åãæ¿ããããæ°ããRubyã®ããŒãžã§ã³ããªãªãŒã¹ãããæã«ç°¡åã«ã€ã³ã¹ããŒã«ã§ããããŒã«ã§ãã
ãŸãã¯homebrewãã€ã³ã¹ããŒã«ããŸãããã
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
ïŒãã倱æãããããšã©ãŒã¡ãã»ãŒãžãèªãã§ã¿ãŠãã ãããè§£æ±ºæ¹æ³ã¯ããã®ãšã©ãŒã¡ãã»ãŒãžãã°ã°ããããhomebrewã€ã³ã¹ããŒã«å€±æããªã©ãšããæãã§èª¿ã¹ãŠã¿ãŸããããèªåãšåãç¶æ³äžã§åé¡ã解決ãã人ãèŠã€ããã®ãããã§ããããããä»åŸãäœãããŸãè¡ããªãã£ããšãã¯ã調ã¹ãŠè§£æ±ºãããšããçãã€ããŠãããŸããããïŒ
ããã§ã¯homebrewã䜿ã£ãŠrbenvãã€ã³ã¹ããŒã«ããŠãããŸãã
$ brew update
# => ææ°ã®ããã±ãŒãžæ
å ±ãåããŸãã
$ brew install rbenv ruby-build
# => rbenvãšruby-buildãã€ã³ã¹ããŒã«ããŸãã
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# => ä»åŸrbenvã§ç®¡çãç¶ããŠããããã«ãèšå®ãã¡ã€ã«ã«rbenvã®åŒã³åºããåæåããŸãã
$ source ~/.bash_profile
$ rbenv --version
# => rbenvãåäœãããã確èªããŸãã
ã¡ãã£ãšæšªéãã³ãã³ãã©ã€ã³ãããæãã«ããŠãã
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profileãšããç®æã®ã~/.bash_profileããšã¯ããã£ã¬ã¯ããªã«ãããã¡ã€ã«ãã瀺ããŠããŸããïŒãã£ã¬ã¯ããªãšã¯ããã©ã«ãã®ããšã§ãïŒ
ãããrbenvãããããŸããããã®ãã¡ã€ã«ãéããŠã¿ãŸãããã
$ subl ~/.bash_profile
ããã»ã©ã®echo 'eval "$(rbenv init -)"'ãå
¥ã£ãŠãããšæããŸãã
ããããã³ãã³ãã©ã€ã³ã䜿ãã«ããã£ãŠãæ°åã倧äºã§ãã®ã§ãç§ã®ããããã®èšå®ãå ¥ããŠã¿ãŠãã ããã
git_branch() {
echo $(git branch --no-color 2>/dev/null | sed -ne "s/^\* \(.*\)$/\1/p")
}
PS1='\n\[\033[92m\]\w\[\033[0m\]:\[\033[33m\]$(git_branch)\[\033[0m\]\n[\[\033[00m\]\t\[\033[0m\]] \[\033[96m\]\u\[\033[0m\] $ '
ããã§ä¿åããŸãã
ãã®ããšã以äžãå®è¡ããŠãã ããã
$ source ~/.bash_profile
ããã§ãè²ãã€ããŠèŠæ ãããããªããŸãã
èªåã®å¥œã¿ã®è²ã«ãããå Žåã¯ããã³ãã³ãããã³ãããè²ããªã©èª¿ã¹ãŠã¿ãŠãã ããã
rbenvã§Rubyã®ã€ã³ã¹ããŒã«
ã€ã³ã¹ããŒã«å¯èœãªRubyã®ãªã¹ãã確èªããŸãã
$ rbenv install --list
Available versions:
1.8.6-p383
1.8.6-p420
1.8.7-p249
1.8.7-p302
...
2.1.1
2.1.2
2.2.0-dev
jruby-1.5.6
jruby-1.6.3
...
ããã§ã¯ããã¥ãŒããªã¢ã«ã§äœ¿çšãããŠãã2.0.0ãã€ã³ã¹ããŒã«ããŸãã
$ rbenv install 2.0.0
ã€ã³ã¹ããŒã«ã§ããã確èªããŸãããã
$ rbenv version
2.0.0 (set by /Users/.../.ruby-version)
ãããããRubyã®ããŒãžã§ã³ãå€ãããšãã¯ã
$ rbenv global 2.0.0 # => å
šäœã®ããŒãžã§ã³æå®
$ rbenv local 1.9.3-p484 # => çŸåšã®ãã£ã¬ã¯ããªå
ã§ã®èšå®
ãšããæãã«ãªããŸãã
ããã®rbenvã§ããŸãè¡ããªãã£ãå Žåããrbenvã€ã³ã¹ããŒã«ããªã©ã§èª¿ã¹ããšããããåºãŠããŸãã
ãããããããŸããããããã§Rubyã®èšå®ã¯å®äºã§ãã
Railsã®ã€ã³ã¹ããŒã« (1.2.2)
ãããããrbenvã§Rubyãã€ã³ã¹ããŒã«ããéã«ãã§ã«RubyGemsãå
¥ã£ãŠãããšæããŸãã
ïŒãããªããã°ãRubyGemsã€ã³ã¹ããŒã«ããšãã£ã颚ã«èª¿ã¹ãŸããããïŒ
ïŒãã¥ãŒããªã¢ã«ã§ç޹ä»ããŠããã~/.gemrcã®èšå®ã¯ããã§ã¯è§ŠããŠããŸãããããã²è©ŠããŠã¿ãŠãã ããã~/.bash_profileã®æãšåãèŠé ã§ããïŒ
äžã®ã³ãã³ãã§Railsãã€ã³ã¹ããŒã«ããŠãã ããã
$ gem install rails --version 4.0.5
# => ãã®ãã¥ãŒããªã¢ã«ã§äœ¿çšããrailsã®ããŒãžã§ã³
$ rails -v
Rails 4.0.5
# => å
¥ã£ããã®ç¢ºèª
ããã§ãrailsã®ã¢ããªã±ãŒã·ã§ã³éçºãè¡ãæºåãã»ãŒå®äºã§ãã
åé¡ãªã蟿ãçãã人ã¯å§ãã®äžå®ãããã£ããªãæããããããŸãããã
(1.2.3æåã®ã¢ããªã±ãŒã·ã§ã³)ã®åã«...
å°ãã³ãã³ãã©ã€ã³ã«æ
£ããŠããå¿
èŠããããŸãã
以äžã®ã³ãã³ãã¯ä»è©Šãã«äœ¿ã£ãŠã¿ãŠèŠããŸãããã
$ ls
# => çŸåšããäžã§ã®ããã£ã¬ã¯ããª/ãã¡ã€ã«äžèЧ
$ cd [ãã£ã¬ã¯ããªå]
# => ãã£ã¬ã¯ããªç§»å
$ cd ..
# => ã²ãšã€äžã®ãã£ã¬ã¯ããªã«ç§»å
$ cd ~/[ãã£ã¬ã¯ããªå]/[ãã£ã¬ã¯ããªå]
# => ãã£ãã«ç§»åãã§ãã
ã²ãšãŸãããã ãã§ããã°ä»ã¯åé¡ãªãã§ãã
ãã£ãšå匷ãããæ¹ã¯ãã¡ããããã€ã³ã¹ããŒã« Linuxã³ãã³ãå
¥é
railsãç«ã¡äžãã (1.2.3æåã®ã¢ããªã±ãŒã·ã§ã³)
ãã£ããrailsã䜿ã£ãŠããŸãã¯éªšæ Œã ãã®ã¢ããªãäœã£ãŠã¿ãŸããããïŒäœã®æ©èœãæã¡ãŸããïŒ
$ mkdir rails_projects
$ cd rails_projects
$ rails new first_app
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/assets/images/.keep
create app/mailers/.keep
create app/models/.keep
...
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.keep
run bundle install
...
ããã§ãäœãããããªããšãèµ·ããŠããã®ããªããšãªãèŠãŠåããŸãã
çŸåšãrails_projectsããšãããã£ã¬ã¯ããªã«ãããšæããŸãããfinderãªã©ã§ç¢ºèªããŠã¿ããšãäžèšã®çŸ
åã®éãã«ãã¡ã€ã«ãçæãããŠããã®ãåãããŸãã
ã¢ããªã±ãŒã·ã§ã³ãåãããŠãããã®
ããã°ã©ãã³ã°è¶
åå¿è
ã®ããã«éèŠãªããšã ãã説æãããšãã¢ãã€ã«ã¢ããªã§ããŠã§ããµã€ãã§ãããããã°ã©ãã³ã°ã®ã³ãŒãããããããåãããŠããããšã¯ãã¡ããç¥ã£ãŠãããšæããŸããïŒããããŠå匷ããŠããŸãããïŒ
ãã®äžèº«ãããå°ã詳ããã¿ããšãªããšãrailsã®å Žåã¯ãã®ãããªããã¡ã€ã«çŸ€ãã§ã²ãšã€ã®ã¢ããªã±ãŒã·ã§ã³ãæããŠããŸããäºæ³ããéãããã®ããã¡ã€ã«çŸ€ãã®äžã«æ§ã
ãªãããã°ã©ãã³ã°ã®ã³ãŒãããåãŸã£ãŠããããã§ãã
â»ããããã®åœ¹å²ãã¯ä»åŸå°ããã€åŠãã§ãããŸãã
åããŠã®ãã¡ã€ã«ç·šé (1.2.4 Bundler)
ããã§åããŠã¢ããªã±ãŒã·ã§ã³å ã®å®éã®ãã¡ã€ã«ç·šéãè¡ããŸãããå°ãSublime Text 2ã®äœ¿ãæ¹ã身ã«ã€ããŸãããã
$ cd first_app
$ subl .
# => çŸåšã®ãã£ã¬ã¯ããªãéã
ã¢ããªã±ãŒã·ã§ã³ã®ãã£ã¬ã¯ããªãéããŸãã
å·Šã«ã©ã ããçŽæ¥ã¯ãªãã¯ããŠããã¡ã€ã«ã¯éããŸããããã£ããã§ãã®ã§sublimeã®æ©èœã䜿ããŸãããã
ã³ãã³ãã㌠+ pãã詊ããŠã¿ãŠãã ãããããããçŽæ¥ãã¡ã€ã«ãåŒã³åºããŸãã
ä»åã¯Gemfileãç·šéããã®ã§ãéããŠã¿ãŸãããã
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.5'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.2'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
# gem 'capistrano', group: :development
# Use debugger
# gem 'debugger', group: [:development, :test]
ãããªå
容ã«ãªã£ãŠããããšæããŸãã
Gemfileãšã¯ãrailsã¢ããªã±ãŒã·ã§ã³éçºã§ã®ãå
éšéšåããšããã€ã¡ãŒãžã§ããèªåã®å¥œããªgemãéžã¶ããšããå
ã
ã®railsã«ãªããããªïŒÎ±ã®æ©èœãåãä»ãããããããšãã§ããŸãã
ïŒrailsã®gemã¯ããã°ã©ããŒéãèªåã§äœ¿ãããgemãèªäœããŠäžçã«ãªãªãŒã¹ããããšãé »ç¹ã«ãããç§ãã¡ã¯ãããããã«èªåã®ã¢ããªã±ãŒã·ã§ã³ã«åãå
¥ããããšãã§ããŸãããããã£ãgemã䜿çšããã¹ã¿ã€ã«ãrailsã®åŒ·ã¿ã ãšèšãããŠããŸããïŒ
ããã§ã¯ã²ãšãŸããRailsTutorialã®ããŒãžã§ã³ãšåãããŠãããŸãããã
source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.5'
group :development do
gem 'sqlite3', '1.3.8'
end
gem 'sass-rails', '4.0.2'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
Gemfileãèšå®ããããgemãèªã¿èŸŒãŸããŸãã
$ bundle update
$ bundle install
ãã°ããããããå šãŠã®gemãã»ãããããŸãã
rails serverãèµ·åãã (1.2.5 rails server)
ãã®ç¶æ
ã§ãrailsãåããããšãã§ããŸãã
ãã£ããç«ã¡äžããŠã¿ãŸãããã
$ rails server # => rails sããšçç¥ãå¯èœ
=> Booting WEBrick
=> Rails 4.0.5 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
ïŒå€±æããå Žåã¯ããã®error messageã調ã¹ãŠã¿ãŸããããïŒ
ãã®æç¹ã§ã¯ãäœãèµ·ããŠããã®ãããããªããšæããŸããããã©ãŠã¶ãéããŠ
http://localhost:3000/
ã«ã¢ã¯ã»ã¹ããŠã¿ãŠãã ããã

ããã¯ãããŸããªãã®ããœã³ã³ã§ç«ã¡äžããŠããç»é¢ã§ããïŒwebäžã«ã¯ãŸã ååšããŠããããèªåã®PCã§åãããŠããã®ã§ããããããŒã«ã«ãµãŒããŒããšèšããŸããïŒ
ããããã³ãŒããç·šéããŠãããšããã®ããŒã«ã«ãã¹ã3000ã§å€æŽãããå
容ãå®éã©ãåãããã¿ãããšãã§ããŸãã
ã³ã³ãããŒã«ããŒãïŒãcãã§æ¢ããããšãã§ããŸãã
railsã®æ§é ã(1.2.6 Model-View-Controller (MVC))
ãŸãããã®å³ãç®ã«å
¥ããŸãã

ããããäœã®ããšãèšã£ãŠãããã€ã¡ãŒãžããããŸããã§ããããïŒ
ãã£ãšåæ©çã«ã説æãå ããŠã¿ãããšæããŸãã
ã¿ãªããã䜿ã£ãŠããwebãµãŒãã¹ãã¢ããªãšãã£ããã®ã¯ããã¡ããç»é¢ããã£ãŠãæ§ã ãªããŒãžããããŸããããfacebookã§ããã°ã¿ã€ã ã©ã€ã³ãšãå人ãããã£ãŒã«ç»é¢ã§ãã
ããããåã ã®ããŒãžã¯ããURLãã«åºã¥ããŠè¡šç€ºãããŠããããšã¯ãåç¥ã ãšæããŸãããrailsã¢ããªã±ãŒã·ã§ã³ããã®ãURLããå ã«åããŸãããã©ãŠã¶ããURLããrailsã¢ããªã±ãŒã·ã§ã³ã«éããrailsã¢ããªã±ãŒã·ã§ã³ã¯ãã®çµæããã©ãŠã¶ã«è¿ããŠããã®ã§ãããã®ãã©ãŠã¶ãšãµãŒããŒãšã®ããåããããªã¯ãšã¹ãããšãã¬ã¹ãã³ã¹ããšèšããŸãã
å®ã¯ãã¿ãªãããæ®æ®µäœ¿çšããŠããURLã«ã¯ãããŒãžã衚瀺ãããã ãã§ãªãããæçš¿ã®åé€ããããããããããã£ãŒã«ã®ç·šéãä¿åããããªã©ãããŒã¿ããŒã¹ã®æŽæ°ã«ã䜿ãããŸãã
äŸãã°ããAãŠãŒã¶ãŒã®ãããã£ãŒã«ã衚瀺ããããšãããªã¯ãšã¹ããéãURLãååšããã°ããAãŠãŒã¶ãŒã®ãããã£ãŒã«ç·šéãä¿åããããšãããªã¯ãšã¹ããéãURLãããã®ã§ããåŸè
ã¯ãã©ãŠã¶ã®URLã衚瀺ããŠãããšããã«è¡šç€ºã¯ãããªãã®ã§ãæ°ã¥ããŸãããä¿åãã¿ã³ãªã©ãæŒããšãã®URLãéãããŸãã
ãæ°ã¥ãã®æ¹ããããããããŸãããããã®ãããŒã¿ããŒã¹ãæŽæ°ããããšãããªã¯ãšã¹ãã®æã¯railsã®ModelãåŒã°ãããããšããããŒãžã衚瀺ããããšãããªã¯ãšã¹ãã®æã¯railsã®ViewãåŒã°ããŠããŸããControllerã¯ãã®ãªã¯ãšã¹ãããã°ããŠViewãšModelãå¿ èŠãªãšãã«åŒã³åºãã®ã§ãã
ã¡ãã£ãšè©±ã¯é£ã³ãŸããããããããªãããããModelãViewãControllerãšããæ©èœãå¿
èŠãªã®ãã¯ãã¡ãã§ã€ã¡ãŒãžãæŽããããšæããŸãã
RailsããŠã§ãããŒãžã衚瀺ããä»çµã¿
â»ãã®ããšå¥ã¢ããªã±ãŒã·ã§ã³ãåããã®ã§ããµãŒããŒãç«ã¡äžããã¿ãŒããã«äžã§ãcontrol+cã§æ¢ããŠãããŠãã ããã
Gitã®ã»ããã¢ãã
Gitã«é¢ãã説æã¯ããµã«ã§ããããGitãèªããšãããããããšæããŸãã
Gitãã¥ãŒããªã¢ã«ã§ã¯ãåã³ãã³ãã®äœ¿ãæ¹ãªã©ã詳ããèŒã£ãŠããŸãã
ã¯ããã®æ¹ã§ã¯ã€ã³ã¹ããŒã«ããã ããªã®ã§ãããã§ãã¡ããšã»ããã¢ããããŸãã
Gitå šäœã®ã»ããã¢ãã
$ git config --global user.name "User Name" #ãŠãŒã¶ãŒå
$ git config --global user.email email@example.com #ç»é²ãããã¡ãŒã«
$ git config --global core.editor "subl -w" #ãã®ãŸãŸã§å€§äžå€«ã§ã
$ git checkoutãšãããã䜿ãã³ãã³ãåãã$ git coã ãã§æžããšäŸ¿å©ãªã®ã§ãããèšå®ããŸãã
$ git config --global alias.co checkout
ä»ã«ã䟿å©ãªèšå®ãããã®ã§ããgit ãšã€ãªã¢ã¹ããªã©ãšèª¿ã¹ãŠã¿ããšãããšæããŸãã
ããã§gitå
šäœã®èšå®ã¯å®äºã§ãã
ã¬ããžããªããšã®èšå®
$ cd ~/rails_projects/first_app
$ git init
Initialized empty Git repository in /Users/username/rails_projects/first_app/.git/
ããã§åæåãå®äºã§ãã
ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãèªåã®PCã§åãããŠã¿ã
ããããã¯ãäžæŠãã¥ãŒããªã¢ã«ã®æµãããæããŠããããããã¥ãŒããªã¢ã«ã§äžããäœæãããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã®ã宿çãããäžæ°ã«ããŠã³ããŒãããŠããŸããŸãã
ãªãããããã®ããšãããšã宿å³ãåãã£ãŠããããšã§ãäœã£ãŠããäžã§ã¢ãããŒã·ã§ã³ãä¿ã¡ãããããŸããææªãã¥ãŒããªã¢ã«ã®éäžã§æ«æããŠãã宿ããç¶æ
ã®ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãèªåã®PCäžã§åãããŠããã°ããã®å
容ãçºãããé©åœã«ç·šéããã ãã§ããæŽããŠãããã®ããããšæã£ãŠããããã§ãã
ïŒãã£ãšèšããšãèªåããããã£ãçµéšãããããã§ãç¬ïŒ
GitHubã¢ã«ãŠã³ããäœæãã
https://github.com
Githubãšã¯ãããã°ã©ã ã³ãŒããwebäžã«ãããããšã§ãããããããŠã³ããŒããããããªãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãå
¬éããããããŒã ã§éçºãããšãã«ã¢ããããŒãããã³ãŒãã軞ã«ã³ãã¥ãã±ãŒã·ã§ã³ãåãããšã®ã§ãããããã°ã©ãå¿
é ã®ãµãŒãã¹ã§ãã
ä»åã¯ãã®ãµãŒãã¹äžãããµã³ãã«ã¢ããªãããŠã³ããŒãããïŒgitã§ã¯ã¯ããŒã³ãããšãããŸãïŒã®ã§ãç»é²ããŸãããã
ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã git cloneãã
$ cd ~ # å
ã»ã©ã®railsã¢ããªã±ãŒã·ã§ã³ããåºã
$ git clone https://github.com/mhartl/sample_app_4_0_upgrade.git # githubããcloneããŠèªåã®PCã«èœãšã
$ cd sample_app_4_0_upgrade # cloneããã¢ããªã±ãŒã·ã§ã³ã«ç§»å
$ bundle install
$ bundle exec rake db:migrate # ããŒã¿ããŒã¹ã®ã»ããã¢ãã
ãããŸã§ããŠãäœããšã©ãŒã衚瀺ããããããã®å
容ãã°ã°ã£ãŠã¿ãŠãã ããã
ãã倧äžå€«ããã§ããã°
$ rails s # ã¢ããªã±ãŒã·ã§ã³å§å
â»ååã®rails sããŸã åããŠãããããã¡ããcontrol+cã§æ¢ããŠãããŸãããã
ãã®ç¶æ ã§ããŸãhttp://localhost:3000/ ãéããšããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãã²ãããŠããããšæããŸãã
ãã以éã®é²ãæ¹
ãããããŸã§åé¡ãªããããŠèªåã§ãããæ¹ã¯ããã²Ruby on Rails Tutorialã®ç¶ããè¡ã£ãŠã¿ãŠãã ããã
RailsTutorialã§ã€ãŸã¥ããããããããããªãã£ããããããå¥ã®ãµã€ããææã§ç¥èãè£å®ãããã誰ãã«æãããšãããšæããŸãã
ããã°ã©ãã³ã°ã§ããããã«ãªã£ãŠããããã°ããããã
ä»åã¯ãæ
£ãããã«ãã©ãŒã«ã¹ããããããããªãç¿æ
£ãã€ããŠããŸãããããããã®ã§
ã ãã¶æéçµã£ãŠããã§ãããã®ã§ãããããã®èªãã§ãããšè¯ãæ°ãããŸãã
ãã¢ããã°ã©ãã³ã°ããŠæ°ãã€ããæ°äººããã°ã©ãã®æé·ãé»å®³ããæªç¿
http://qiita.com/hirokidaichi/items/27c757d92b6915e8ecf7
æ«æããå Žå
Railsããæåã§æ £ããŠãã
åºæ¬ãæŒãããŠã¿ãŸãããã
ãããã€ã³ã¹ããŒã«ã§htmlãcssããå
¥ãã®ããªã¹ã¹ã¡ã§ãã
åèãŠã§ããµã€ã
人ã«å©ããŠããã
ã§ãããã£ã±ããæ®éã¯äžäººã§ããããã®ã¯ç¡çã§ããåã¯ç¬¬1ç« ãã人ã«å©ããŠããããªããçµããããšãã§ããŸããã
ãã£ã±ããäžçªããã®ã¯ãã¡ããšã§ãã人ããæããããšã§ãã
ãšããããšã§ãæªçµéšã§ãæè¿ã®æ±äººãæ¢ããŠã¿ãŸããã
æªçµéšããšã³ãžãã¢ãã®åé
https://www.wantedly.com/search?q=%E6%9C%AA%E7%B5%8C%E9%A8%93&t=projects&o=engineer
泚é
ããã¯ããšããšå人åãã«éå®å
¬éããŠããã®ã§ãããå
¬éã«ããŠã¿ãŸããã
2014幎6æããã«å€§éšåãæžããã®ã§ãããããããŒãžã§ã³ãšãåã£ãŠãªããããããŸããããããšãåŸåã¯ã¡ãã£ãšé©åœããããããããŸããã
ãŸãããããã®ãšã³ãžãã¢ãã§ã¯ãªããæ°ã¶æã§ãšã»ãšã³ãžãã¢ã«ãªã£ãæç³»åŠçããšããèŠç¹ã§æžããã®ã§ãæãæ¹ãšãã«åé¡ããããããããŸãããïŒãããªãRailsãã¥ãŒããªã¢ã«ãšãããããªãã§ãããšãïŒ
ã§ãããããŸã§æç³»ã®çŽ äººèŠç¹ã ãšãããããæ¹ãããããããããïŒããšä¿¡ããŠæžããŸããã
ãããããçè§£ããããããããäžçªæåã¯ãæ
£ãããæ¹ãå§åçã«å€§åã ãšæããŸããé©åœã§ããããããã·ãŒã³ãåãããããã«ãªã£ãŠããã£ãšãã¡ãããšãããããªãããã®ã§ãã
ãã®åã®æç¹ã§ããããæããããšæã£ãŠããã²ããŠããŸããã ãã§ããïŒãã®æçš¿ãããããæžããããããïŒ
ããšãã¡ãã£ãšhtmlãjsãããã£ããšããŠãç¶ãããçµå±ã¢ããªã±ãŒã·ã§ã³åäœã§åãçµãã ã®ãèªåã«ãšã£ãŠã¯çµæãªãŒã©ã€ã§ãããïŒç䌌ããã°ããããã§ããªããã©ïŒïŒèªåã¯ã¢ããªã±ãŒã·ã§ã³æ§ç¯ãšããŠrailsããåãçµãã ããšããªãããã©ïŒ
ããã°ã©ãã³ã°æè²æ¹éã«ã€ããŠã¯ã人ããããããšæãã®ã§ã
ãããã£ãæ¹é以å€ã§ãããããæžããŠããæ
å ±ãééã£ãŠããããããææããŠããã ãããšå¬ããã§ãïŒ
