SlideShare a Scribd company logo
Build & deploy
your blog with
Ruby on Rails
+
Agenda
●
Introduction to Ruby
●
Ruby exercises (30 min)
- break -
●
Introduction to Rails demo
●
Build your blog (1 hr)
- break -
●
Deploy live with Heroku
Ruby
A programming language
https://www.ruby-lang.org
Installation:
$ sudo apt-get install ruby
or install using http://rvm.io (advanced)
Let’s try:
$ irb
Ruby
●
Learn on-line https://ruby.github.io/TryRuby/
or https://www.learnrubyonline.org/
●
Cheat sheet (includes Rails):
https://goo.gl/tzcvp9 < we’ll try some of these
https://github.com/ThibaultJanBeyer/cheatsheets/blob/master/Ruby-Cheatsheet.md
●
Learn step-by-step by fixing tests:
http://www.rubykoans.com
CODING TIME!
●
Raise your hands if you have questions
●
We will look together at examples where you
have doubts
●
Ask your neighbour ;)
Ruby vs Javascript
A funny video :)
https://www.destroyallsoftware.com/talks/wat
Rails
is a web framework based on Ruby
“Model-View-Controller” pattern
“Convention over configuration” principle
Many “generators” commands, console, server
Rails installation
gem: libraries and packages in Ruby
https://rubygems.org/
$sudo apt-get install zlib1g-dev
$sudo gem install rails
DEMO!
●
I will be quick…
●
After you can follow guides at your own speed
1) Basic Rails generators
2) Rails server / console
3) Routes / Controllers / Views / Models
4) Adding some features
5) Authentication
Bundler
gem: libraries and packages in Ruby
bundler: a package manager for gems
https://bundler.io/
$ gem install bundler
$ bundle init
or
$ bundle install
●
Check in your folder the Gemfile
Model View Controller in Rails
Start building! :)
Official “getting started” guide:
https://guides.rubyonrails.org/getting_started.html
RailsGirls guide:
http://guides.railsgirls.com/app
To learn mode in depth:
https://guides.rubyonrails.org/index.html
https://www.ruby-lang.org/en/documentation/
Heroku
A simple infrastructure provider
Sign up at: https://www.heroku.com
$ sudo snap install heroku –classic
$ heroku login
●
http://guides.railsgirls.com/heroku
Configure your production database
$ heroku login
$ heroku create
$ git push heroku master
$ heroku run rails db:migrate
Heroku
https://devcenter.heroku.com/articles/getting-starte
d-with-rails5
http://guides.railsgirls.com/heroku
Prerequisite: Configure your production database
$ heroku login
$ heroku create
$ git push heroku master
$ heroku run rails db:migrate
This work is licensed under a Creative Commons
Attribution-ShareAlike 3.0 Unported License.
It makes use of the works of
Ilias Bartolini
Mateus Machado Luna

More Related Content

What's hot

We codeil save kermit
We codeil   save kermitWe codeil   save kermit
We codeil save kermit
Victor Trakhtenberg
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého Schizma
Develcz
 
Making CLIs with Node.js
Making CLIs with Node.jsMaking CLIs with Node.js
Making CLIs with Node.js
Joseph Lust
 
C4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web FrameworkC4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web Framework
Francis Addai
 
three.js WebGL library presentation
three.js WebGL library presentationthree.js WebGL library presentation
three.js WebGL library presentation
Yleisradio
 
Ruby Loves Dot Net
Ruby Loves Dot NetRuby Loves Dot Net
Ruby Loves Dot Net
Ivan Porto Carrero
 
Teach yourself Ruby on Rails
Teach yourself Ruby on RailsTeach yourself Ruby on Rails
Teach yourself Ruby on Rails
patrikbona
 
RubyTuesdays RTanque Tournament
RubyTuesdays RTanque TournamentRubyTuesdays RTanque Tournament
RubyTuesdays RTanque Tournament
Jimmy Ngu
 
Instant LAMP Stack with Vagrant and Puppet
Instant LAMP Stack with Vagrant and PuppetInstant LAMP Stack with Vagrant and Puppet
Instant LAMP Stack with Vagrant and Puppet
Patrick Lee
 
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betaIntroducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betadigitalzombie
 
Javacro 2014 SemameStreet Grails 2 Speech
Javacro 2014  SemameStreet Grails 2 SpeechJavacro 2014  SemameStreet Grails 2 Speech
Javacro 2014 SemameStreet Grails 2 Speech
Fernando Redondo Ramírez
 
Open source applications softwares
Open source applications softwaresOpen source applications softwares
Open source applications softwares
Tushar B Kute
 
2013 10-25 dev-opsdays
2013 10-25 dev-opsdays2013 10-25 dev-opsdays
2013 10-25 dev-opsdays
geoffnettaglich
 
Dangers of parallel streams
Dangers of parallel streamsDangers of parallel streams
Dangers of parallel streams
Lukáš Křečan
 
GraalVMに入門してみた
GraalVMに入門してみたGraalVMに入門してみた
GraalVMに入門してみた
Aya Ebata
 
Let's use AppVeyor
Let's use AppVeyorLet's use AppVeyor
Let's use AppVeyor
k-takata
 
Zero to hero - Geoff Webb
Zero to hero - Geoff WebbZero to hero - Geoff Webb
Zero to hero - Geoff WebbDevopsdays
 
Opensource pnp container based waf
Opensource pnp container based wafOpensource pnp container based waf
Opensource pnp container based waf
Varun konadagadapa
 
Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...
Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...
Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...
Martin Grotzke
 
Understanding of node
Understanding of nodeUnderstanding of node
Understanding of node
Mudassar Ali Sahil
 

What's hot (20)

We codeil save kermit
We codeil   save kermitWe codeil   save kermit
We codeil save kermit
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého Schizma
 
Making CLIs with Node.js
Making CLIs with Node.jsMaking CLIs with Node.js
Making CLIs with Node.js
 
C4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web FrameworkC4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web Framework
 
three.js WebGL library presentation
three.js WebGL library presentationthree.js WebGL library presentation
three.js WebGL library presentation
 
Ruby Loves Dot Net
Ruby Loves Dot NetRuby Loves Dot Net
Ruby Loves Dot Net
 
Teach yourself Ruby on Rails
Teach yourself Ruby on RailsTeach yourself Ruby on Rails
Teach yourself Ruby on Rails
 
RubyTuesdays RTanque Tournament
RubyTuesdays RTanque TournamentRubyTuesdays RTanque Tournament
RubyTuesdays RTanque Tournament
 
Instant LAMP Stack with Vagrant and Puppet
Instant LAMP Stack with Vagrant and PuppetInstant LAMP Stack with Vagrant and Puppet
Instant LAMP Stack with Vagrant and Puppet
 
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betaIntroducing Yeoman 1.0 beta
Introducing Yeoman 1.0 beta
 
Javacro 2014 SemameStreet Grails 2 Speech
Javacro 2014  SemameStreet Grails 2 SpeechJavacro 2014  SemameStreet Grails 2 Speech
Javacro 2014 SemameStreet Grails 2 Speech
 
Open source applications softwares
Open source applications softwaresOpen source applications softwares
Open source applications softwares
 
2013 10-25 dev-opsdays
2013 10-25 dev-opsdays2013 10-25 dev-opsdays
2013 10-25 dev-opsdays
 
Dangers of parallel streams
Dangers of parallel streamsDangers of parallel streams
Dangers of parallel streams
 
GraalVMに入門してみた
GraalVMに入門してみたGraalVMに入門してみた
GraalVMに入門してみた
 
Let's use AppVeyor
Let's use AppVeyorLet's use AppVeyor
Let's use AppVeyor
 
Zero to hero - Geoff Webb
Zero to hero - Geoff WebbZero to hero - Geoff Webb
Zero to hero - Geoff Webb
 
Opensource pnp container based waf
Opensource pnp container based wafOpensource pnp container based waf
Opensource pnp container based waf
 
Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...
Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...
Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgres...
 
Understanding of node
Understanding of nodeUnderstanding of node
Understanding of node
 

Similar to Getting started with Ruby on Rails

Hack Rio/OS
Hack Rio/OSHack Rio/OS
Hack Rio/OS
Kishore Neelamegam
 
Introduction to rails
Introduction to railsIntroduction to rails
Introduction to rails
Go Asgard
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Hiroshi SHIBATA
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
Rafael Rosa
 
Open Source Swift: Up and Running
Open Source Swift: Up and RunningOpen Source Swift: Up and Running
Open Source Swift: Up and Running
Carl Brown
 
The story of language development
The story of language developmentThe story of language development
The story of language development
Hiroshi SHIBATA
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalk
zupzup.org
 
Ruby confhighlights
Ruby confhighlightsRuby confhighlights
Ruby confhighlights
Claire Tran
 
Our ATLRUG.com Web Site
Our ATLRUG.com Web SiteOur ATLRUG.com Web Site
Our ATLRUG.com Web Site
jasnow
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Henry S
 
Groovy android
Groovy androidGroovy android
Groovy android
Mario García
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
Hiroshi SHIBATA
 
Developing cross platform desktop application with Ruby
Developing cross platform desktop application with RubyDeveloping cross platform desktop application with Ruby
Developing cross platform desktop application with Ruby
Anis Ahmad
 
How to debug mruby (rubyconftw2014)
How to debug mruby (rubyconftw2014)How to debug mruby (rubyconftw2014)
How to debug mruby (rubyconftw2014)
yamanekko
 
Ruby Tuesday Ottawa - Jan 24, 2012
Ruby Tuesday Ottawa - Jan 24, 2012Ruby Tuesday Ottawa - Jan 24, 2012
Ruby Tuesday Ottawa - Jan 24, 2012
michaeldwp
 
Contribute to rails
Contribute to railsContribute to rails
Contribute to rails
martinsvalin
 
Autolab Workshop
Autolab WorkshopAutolab Workshop
Autolab Workshop
Mihir Pandya
 

Similar to Getting started with Ruby on Rails (20)

rubyonrails
rubyonrailsrubyonrails
rubyonrails
 
rubyonrails
rubyonrailsrubyonrails
rubyonrails
 
Hack Rio/OS
Hack Rio/OSHack Rio/OS
Hack Rio/OS
 
Introduction to rails
Introduction to railsIntroduction to rails
Introduction to rails
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
 
Open Source Swift: Up and Running
Open Source Swift: Up and RunningOpen Source Swift: Up and Running
Open Source Swift: Up and Running
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalk
 
Ruby confhighlights
Ruby confhighlightsRuby confhighlights
Ruby confhighlights
 
Our ATLRUG.com Web Site
Our ATLRUG.com Web SiteOur ATLRUG.com Web Site
Our ATLRUG.com Web Site
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
Groovy android
Groovy androidGroovy android
Groovy android
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
Developing cross platform desktop application with Ruby
Developing cross platform desktop application with RubyDeveloping cross platform desktop application with Ruby
Developing cross platform desktop application with Ruby
 
How to debug mruby (rubyconftw2014)
How to debug mruby (rubyconftw2014)How to debug mruby (rubyconftw2014)
How to debug mruby (rubyconftw2014)
 
Ruby Tuesday Ottawa - Jan 24, 2012
Ruby Tuesday Ottawa - Jan 24, 2012Ruby Tuesday Ottawa - Jan 24, 2012
Ruby Tuesday Ottawa - Jan 24, 2012
 
Contribute to rails
Contribute to railsContribute to rails
Contribute to rails
 
Autolab Workshop
Autolab WorkshopAutolab Workshop
Autolab Workshop
 
Ugo Cei Presentation
Ugo Cei PresentationUgo Cei Presentation
Ugo Cei Presentation
 

More from Ilias Bartolini

Code refactoring workshop (in Javascript)
Code refactoring workshop (in Javascript)Code refactoring workshop (in Javascript)
Code refactoring workshop (in Javascript)
Ilias Bartolini
 
Building and evolving microservices
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
Ilias Bartolini
 
Desing principles: tensions and synergies v3.0
Desing principles: tensions and synergies v3.0Desing principles: tensions and synergies v3.0
Desing principles: tensions and synergies v3.0
Ilias Bartolini
 
Desing principles: tensions and synergies
Desing principles: tensions and synergiesDesing principles: tensions and synergies
Desing principles: tensions and synergies
Ilias Bartolini
 
Climate Change
Climate ChangeClimate Change
Climate Change
Ilias Bartolini
 
Training and Coaching Agile Minds
Training and Coaching Agile MindsTraining and Coaching Agile Minds
Training and Coaching Agile Minds
Ilias Bartolini
 
The hidden beauty of the rainbow
The hidden beauty of the rainbowThe hidden beauty of the rainbow
The hidden beauty of the rainbowIlias Bartolini
 
Paul Collier - The Bottom Billion
Paul Collier - The Bottom BillionPaul Collier - The Bottom Billion
Paul Collier - The Bottom Billion
Ilias Bartolini
 
A personal (self) review
A personal (self) reviewA personal (self) review
A personal (self) reviewIlias Bartolini
 
Lean startup And Occupy Movement
Lean startup And Occupy MovementLean startup And Occupy Movement
Lean startup And Occupy Movement
Ilias Bartolini
 

More from Ilias Bartolini (11)

Code refactoring workshop (in Javascript)
Code refactoring workshop (in Javascript)Code refactoring workshop (in Javascript)
Code refactoring workshop (in Javascript)
 
Building and evolving microservices
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
 
Desing principles: tensions and synergies v3.0
Desing principles: tensions and synergies v3.0Desing principles: tensions and synergies v3.0
Desing principles: tensions and synergies v3.0
 
Desing principles: tensions and synergies
Desing principles: tensions and synergiesDesing principles: tensions and synergies
Desing principles: tensions and synergies
 
Climate Change
Climate ChangeClimate Change
Climate Change
 
Training and Coaching Agile Minds
Training and Coaching Agile MindsTraining and Coaching Agile Minds
Training and Coaching Agile Minds
 
Facilitation 101
Facilitation 101Facilitation 101
Facilitation 101
 
The hidden beauty of the rainbow
The hidden beauty of the rainbowThe hidden beauty of the rainbow
The hidden beauty of the rainbow
 
Paul Collier - The Bottom Billion
Paul Collier - The Bottom BillionPaul Collier - The Bottom Billion
Paul Collier - The Bottom Billion
 
A personal (self) review
A personal (self) reviewA personal (self) review
A personal (self) review
 
Lean startup And Occupy Movement
Lean startup And Occupy MovementLean startup And Occupy Movement
Lean startup And Occupy Movement
 

Recently uploaded

SluggerPunk Final Angel Investor Proposal
SluggerPunk Final Angel Investor ProposalSluggerPunk Final Angel Investor Proposal
SluggerPunk Final Angel Investor Proposal
grogshiregames
 
Grow Your Reddit Community Fast.........
Grow Your Reddit Community Fast.........Grow Your Reddit Community Fast.........
Grow Your Reddit Community Fast.........
SocioCosmos
 
Unlock TikTok Success with Sociocosmos..
Unlock TikTok Success with Sociocosmos..Unlock TikTok Success with Sociocosmos..
Unlock TikTok Success with Sociocosmos..
SocioCosmos
 
Buy Pinterest Followers, Reactions & Repins Go Viral on Pinterest with Socio...
Buy Pinterest Followers, Reactions & Repins  Go Viral on Pinterest with Socio...Buy Pinterest Followers, Reactions & Repins  Go Viral on Pinterest with Socio...
Buy Pinterest Followers, Reactions & Repins Go Viral on Pinterest with Socio...
SocioCosmos
 
Social Media Marketing Strategies .
Social Media Marketing Strategies                     .Social Media Marketing Strategies                     .
Social Media Marketing Strategies .
Virtual Real Design
 
Surat Digital Marketing School - course curriculum
Surat Digital Marketing School - course curriculumSurat Digital Marketing School - course curriculum
Surat Digital Marketing School - course curriculum
digitalcourseshop4
 
Your Path to YouTube Stardom Starts Here
Your Path to YouTube Stardom Starts HereYour Path to YouTube Stardom Starts Here
Your Path to YouTube Stardom Starts Here
SocioCosmos
 
Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...
Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...
Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...
AJHSSR Journal
 
“To be integrated is to feel secure, to feel connected.” The views and experi...
“To be integrated is to feel secure, to feel connected.” The views and experi...“To be integrated is to feel secure, to feel connected.” The views and experi...
“To be integrated is to feel secure, to feel connected.” The views and experi...
AJHSSR Journal
 
7 Tips on Social Media Marketing strategy
7 Tips on Social Media Marketing strategy7 Tips on Social Media Marketing strategy
7 Tips on Social Media Marketing strategy
Digital Marketing Lab
 
SluggerPunk Angel Investor Final Proposal
SluggerPunk Angel Investor Final ProposalSluggerPunk Angel Investor Final Proposal
SluggerPunk Angel Investor Final Proposal
grogshiregames
 
The Evolution of SEO: Insights from a Leading Digital Marketing Agency
The Evolution of SEO: Insights from a Leading Digital Marketing AgencyThe Evolution of SEO: Insights from a Leading Digital Marketing Agency
The Evolution of SEO: Insights from a Leading Digital Marketing Agency
Digital Marketing Lab
 
Multilingual SEO Services | Multilingual Keyword Research | Filose
Multilingual SEO Services |  Multilingual Keyword Research | FiloseMultilingual SEO Services |  Multilingual Keyword Research | Filose
Multilingual SEO Services | Multilingual Keyword Research | Filose
madisonsmith478075
 

Recently uploaded (13)

SluggerPunk Final Angel Investor Proposal
SluggerPunk Final Angel Investor ProposalSluggerPunk Final Angel Investor Proposal
SluggerPunk Final Angel Investor Proposal
 
Grow Your Reddit Community Fast.........
Grow Your Reddit Community Fast.........Grow Your Reddit Community Fast.........
Grow Your Reddit Community Fast.........
 
Unlock TikTok Success with Sociocosmos..
Unlock TikTok Success with Sociocosmos..Unlock TikTok Success with Sociocosmos..
Unlock TikTok Success with Sociocosmos..
 
Buy Pinterest Followers, Reactions & Repins Go Viral on Pinterest with Socio...
Buy Pinterest Followers, Reactions & Repins  Go Viral on Pinterest with Socio...Buy Pinterest Followers, Reactions & Repins  Go Viral on Pinterest with Socio...
Buy Pinterest Followers, Reactions & Repins Go Viral on Pinterest with Socio...
 
Social Media Marketing Strategies .
Social Media Marketing Strategies                     .Social Media Marketing Strategies                     .
Social Media Marketing Strategies .
 
Surat Digital Marketing School - course curriculum
Surat Digital Marketing School - course curriculumSurat Digital Marketing School - course curriculum
Surat Digital Marketing School - course curriculum
 
Your Path to YouTube Stardom Starts Here
Your Path to YouTube Stardom Starts HereYour Path to YouTube Stardom Starts Here
Your Path to YouTube Stardom Starts Here
 
Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...
Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...
Improving Workplace Safety Performance in Malaysian SMEs: The Role of Safety ...
 
“To be integrated is to feel secure, to feel connected.” The views and experi...
“To be integrated is to feel secure, to feel connected.” The views and experi...“To be integrated is to feel secure, to feel connected.” The views and experi...
“To be integrated is to feel secure, to feel connected.” The views and experi...
 
7 Tips on Social Media Marketing strategy
7 Tips on Social Media Marketing strategy7 Tips on Social Media Marketing strategy
7 Tips on Social Media Marketing strategy
 
SluggerPunk Angel Investor Final Proposal
SluggerPunk Angel Investor Final ProposalSluggerPunk Angel Investor Final Proposal
SluggerPunk Angel Investor Final Proposal
 
The Evolution of SEO: Insights from a Leading Digital Marketing Agency
The Evolution of SEO: Insights from a Leading Digital Marketing AgencyThe Evolution of SEO: Insights from a Leading Digital Marketing Agency
The Evolution of SEO: Insights from a Leading Digital Marketing Agency
 
Multilingual SEO Services | Multilingual Keyword Research | Filose
Multilingual SEO Services |  Multilingual Keyword Research | FiloseMultilingual SEO Services |  Multilingual Keyword Research | Filose
Multilingual SEO Services | Multilingual Keyword Research | Filose
 

Getting started with Ruby on Rails