Ruby on Rails Pei-Ying Wang
-
Upload
sampetruda -
Category
Documents
-
view
799 -
download
2
Transcript of Ruby on Rails Pei-Ying Wang
![Page 1: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/1.jpg)
Ruby on Rails
Pei-Ying [email protected]
OverviewWhat is Ruby on Rails? Rails frameworks (components) Example: simple web application Pros and Cons
![Page 2: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/2.jpg)
What is Ruby on Rails? Ruby Ruby on Rails
An open source, interpreted scripting language Created by Yukihiro Matsumoto in the mid-
1990s
Ruby on Rails, ROR or Rails An full-stack, open source web application
framework written in Ruby Designed for writing database-oriented real-
world Web application quickly and easily Created by David Heinemeier Hansson
![Page 3: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/3.jpg)
What is Ruby on Rails?(2)
Very short history Extracted from Basecamp(a project-
management tool by 37Signals) First released : July 2004 Latest release: April 2006(Version 1.1.2)
Principles(DRY-Don’t Repeat Yourself) Less software Convention over Configuration
![Page 4: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/4.jpg)
Rails Frameworks(components)
![Page 5: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/5.jpg)
Example: a simple web application
After starting MySQL and Web server, Create a new web application called cookbook2:
> Rails cookbook2
![Page 6: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/6.jpg)
Example: a simple web application(2)
class MyTestController < ApplicationControllerend
> ruby script\generate controller MyTest
To make a simple Hello World application:
![Page 7: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/7.jpg)
Example: a simple web application(3)
To make a simple Hello World application(2):
class MyTestController < ApplicationControllerdef index
render_text "Hello World"end
end
http://localhost:3000/My_Test/index
http://localhost:3000//My_Test
http://localhost:3000/MyTest
![Page 8: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/8.jpg)
Example: a simple web application(4)
Online Recipe First, create an database called cookbook2
and a table called recipes
![Page 9: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/9.jpg)
Example: a simple web application(5)
> ruby script\generate model Recipe
![Page 10: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/10.jpg)
Example: a simple web application(6)
> ruby script\generate controller Recipe
Magic happens by simply adding this line to recipe_controller.rb !Open browser and go tohttp://localhost:3000/recipe/new
![Page 11: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/11.jpg)
Example: a simple web application(7)
http://localhost:3000/recipe/new
Now, you can start to populate
the database
http://localhost:3000/recipe/new
Click on the “create” button to add data
![Page 12: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/12.jpg)
Example: a simple web application(8)
http://localhost:3000/recipe/list
http://localhost:3000/recipe/show/1
![Page 13: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/13.jpg)
Example: a simple web application(9)
• Take over the handling of the list action from the scaffolding
Step1:
Add a list method in the file “recipe_controller.rb”
![Page 14: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/14.jpg)
Example: a simple web application(10)
Add a new file called “list.rhtml” under app/views/receipe
.rhtml : an html file with Ruby code embedded within
<% %> and <%= %> tags
Step2:
<html><head><title>All Recipes</title></head><body>
<h1>Online Cookbook - All Recipes</h1><table border="1"> <tr> <td width="80%"><p align="center"><i><b>Recipe</b></i></td> <td width="20%"><p align="center"><i><b>Date</b></i></td> </tr>
<% @recipes.each do |recipe| %> <tr> <td><%= link_to recipe.title, :action => "show", :id => recipe.id %></td> <td><%= recipe.date %></td> </tr> <% end %></table><p><%= link_to "Create new recipe", :action => "new" %></p>
</body></html>
![Page 15: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/15.jpg)
Example: a simple web application(11)
Step3:
Ask the recipe class for a collection of all recipes from the DB and assign the collection to the instance variable @recipes
![Page 16: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/16.jpg)
Example: a simple web application(12)
http://localhost:3000/recipe/list
Done!
![Page 17: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/17.jpg)
Pros and Cons
pros Less code High productivity & reduced
development time cons
too young Upgrades in foundational code may
result in instability in Rails Relies on a foundation of numerous other
applications
![Page 18: Ruby on Rails Pei-Ying Wang](https://reader036.fdocuments.in/reader036/viewer/2022062312/554be6ceb4c9055a368b4a32/html5/thumbnails/18.jpg)
Reference Russel Kay: QUICK STUDY: Ruby on Rails. Computerworld, 11/28/2005, Vol.
39 Issue 48, pg26-26 David Geer: Will Software Developers Rid Ruby on Rails to Success?
Computer, Feb2006, Vol. 39 Issue 2, pg18-20 Stacy Cowley: Riding the ruby rails in a new direction CRN. Jericho: Mar
13, 2006., Issue 1187; pg. 43 Grant Buckler: Application developers climb aboard Ruby on Rails
Computing Canada. Willowdale: Aug 19, 2005.Vol.31, Issue 11; pg. 6 Daniel Bogan: Get on track with ruby on rails
http://www.sitepoint.com/article/ruby-on-rails Curt Hibbs:What Is Ruby on Rails? http://www.onlamp.com/lpt/a/6251 Bill Walton :Rolling with Ruby on [Instant]Rails
http://instantrails.rubyforge.org/tutorial/index.html Curt Hibbs: Rolling with Ruby on Rails, Part 2
http://www.onlamp.com/lpt/a/5641 Curt Hibbs: Ajax on Rails http://www.onlamp.com/lpt/a/5944 http://en.wikipedia.org/wiki/Ruby_On_Rails http://www.rubyonrails.com/