KEMBAR78
Ruby on Rails for beginners | PDF
I am Vysakh.
I am a web developer.
In Ruby
puts “Hello world”
Ruby is simply simple
Just like english
Variables
You have
- basket A with 10 apples
- basket B with 20 apples.
Find the sum and
difference
basketa = 10 apples
basketb = 20 apples
sum = basketa + basketb
=> 10 + 20 = 30
difference = basketb - basketa
=> 20 - 10 = 10
basket_a = 10
basket_b = 20
sum = basket_a + basket_b
difference = basket_b - basket_a
In Ruby
It is just like what you wrote in your
kindergarden answer sheet
Creator of Ruby - Matz
Running the code
Ruby is executed line by line
So output of a single line/logic can be seen
using irb
Opening up irb in the terminal
Instead of executing as a program file. Useful
for learning, debugging.
Conditionals
cold_weather = true
if cold_weather
puts “Wear something warm”
else
puts “Don’t wear something”
end
Ruby code
Most thing in Ruby is Object
2.odd?()
=> false
“Vysakh”.length()
=> 6
Brackets are optional in Ruby
2.odd?
=> false
“Vysakh”.length
=> 6
Exercise 1
a) Get a string and check if it is palindrome.
b) Get a number and print the reverse of it.
Hint: use gets to get the input.
Array/List
In Ruby
shopping = [ “milk”, “cheese”, “olive oil”]
Loops
In Ruby
20.times do
puts “I must do my homework”
end
Also, there are
- loop
- while loop
- for loop
- step
- upto
HAPPY
Ruby is all about making programmer
Mam, please take
each item for me to
bill
cart = [“biscuit”, milk”, “shampoo”, “tampons” ]
Mam, please take
each item for me to
bill
cart = [“biscuit”, milk”, “shampoo”, “tampons” ]
cart.each do |item|
puts item
end
Exercise 2
- Create an array of marks you got in your
last assessment.
- Find if the sum of odd numbers is greater
than the sum of even numbers, if it is, you
have big odds at passing.
- Pass this information or bad luck will follow
HASH
In Ruby
slang = {
“lol” => “laugh out loud”,
“brb” => “Be right back”
}
slang[“lol”]
=> laught out loud
Use symbols instead of string
slang = {
:lol => “laugh out loud”,
:brb => “Be right back”
}
slang[:lol]
=> laught out loud
Symbols in Ruby
:hand.class
=> Symbol
Alternate way to write hash
slang = {
lol: “laugh out loud”,
brb: “Be right back”
}
slang[:lol]
=> laught out loud
Exercise 3
- Create a list of ipl team hashes
- with batsmen (3) name as key and their
sixes as values.
a) Find the sixes hit by a batsmen of a given
name
Functions
In Ruby
def y(x)
x**3
end
y(3) # => 27
y(2) # => 8
Exercise 4
a) Create a method rajini_style. Return his
dialogue (your favorite).
b) Create a factorial method that gets a
number and returns the factorial
Class
class Sports
def initialize(players, name)
@no_of_players = players
@name = name
end
end
cricket = Sports.new(11, “Cricket”)
foot_ball = Sports.new(11, “Football”)
Inheritance
a version manager (RVM or rbenv or other)
Install ruby using
rbenv
Installing Ruby using
Installing and setting Ruby
dhh
Creator of Ruby on Rails
Installing Rails
Creating a new rails project
Files generated with “rails new
myproject” command
Starting Rails server
Check the browser
localhost:3000
Understanding Rails
A dress shop
Pant
section?
1st floor
kid. 2nd
section
1st floor
here is
your pant
A Rails server
/about
routes.rb
home
controller,
about
action
A Rails server
home controller,
about action
here is
your html
file
Lets do it in Rails
filename: config/routes.rb
Configure the routes to get /about
The corresponding html
and go to ‘/about’ url
Lets open the browser
available in the section?
When the pant is not
Coming back to the kid and pant story
1st floor
I want this
specific
design
Godown
Oh kid
lemme go
to the
godown
and get
In Rails
Database
home controller,
about action
/posts/1
and have an abstraction(model)
Lets create a table
This will create model,
migration files
migration - A ruby file that will create, modify
tables
posts table
title column of type
string
from the ruby file(migration)
Lets create the tables
Rake, a simple ruby build program with
capabilities similar to make
This creates the posts table
table records through Rails model
Lets create, manipulate
Post is a Ruby class that Inherits ActiveRecord
app/models/post.rb
Object Relation Mapping(ORM) layer
Active Record is an
tables map to classes,
rows map to objects
rows map to objects
Rows map to objects
Columns map to object attributes
Few operations
Lets use this query in
Rails controller and give it to the user
Configure the routes file
Open up the browser
Show the title, description in html
app/views/show.html.erb
Now lets check the browser
Now lets do all this in
one command -> scaffold
This will generate all files
based on REST Architecture
Guides and resources
http://tryruby.org
http://www.codecademy.com/en/tracks/ruby
http://ruby.learncodethehardway.org/book/
Ruby
Ruby on Rails
railstutorial.org/book
railsforzombies.org
guides.rubyonrails.org/getting_started
railscasts.com
Local Ruby Community - chennair.b
Mailing list - google groups
Meetups - www.meetup.com/chennai-ruby
Ruby on Rails for beginners

Ruby on Rails for beginners