Ruby on Rails [ Ruby On Rails.ppt ] - [Ruby - [Ruby-Doc.org ...
Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.
-
Upload
candice-woods -
Category
Documents
-
view
220 -
download
0
Transcript of Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.
![Page 1: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/1.jpg)
Ruby on RailsCreating a Rails Application
Carol E WolfCS396X
![Page 2: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/2.jpg)
Ruby Console Window
•First choose Rails Applications•Next select Open Ruby Console Window•At the prompt, type• rails apps_name• For example: rails
library
•This creates a full directory system in the folder rails_apps.
Console Window
![Page 3: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/3.jpg)
Rails directory system
![Page 4: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/4.jpg)
Important folders app
controllers – sits between client and database helpers – module with common ruby code models – code to interface with the database views – web pages containing html and erb
db – contains database migration – methods to change the database
script console – interactive console window for ruby code dbconsole – interactive console window for the
database generate – methods to generate scaffolding and
migrations server – activates server to be used with localhost
![Page 5: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/5.jpg)
Adding a table to the database You can use the scaffold command to set up your
database. The database is created when you create the application.
Type the following to create a table called books. ruby script/generate scaffold book isbn:string
author:string title:string Note that if you call it book, rails automatically makes it
books. This creates the file 20080805165427_create_books.rb in the
db/migrate folder, where the numbers are a time stamp. Then type
rake db:migrate The rake command executes all the ruby files in the migrate
folder. Rails includes a primary id field that is automatically
incremented when you add rows to the database.
![Page 6: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/6.jpg)
The file, schema.rb Rake adds a ruby file to the db folder called schema. Lines
beginning with # are comments.# This file is auto-generated from the current state of the
database.# (Additional comments omitted.) ActiveRecord::Schema.define(:version => 20080805165427)
do create_table "books", :force => true do |t| t.string "isbn" t.string "author" t.string "title" t.datetime "created_at" t.datetime "updated_at" end end
![Page 7: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/7.jpg)
View the contents of the database To begin with, the books table is empty. Bring
up the server to access it. ruby script/server The server that comes with InstantRails is called
mongrel. It is a version of the open source apache server.
Point your browser to http://localhost:3000/books where localhost is the
name for the IP address 127.0.0.1. (Use that if your computer does not recognize localhost.)
localhost is often called the local loop.
![Page 8: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/8.jpg)
The first web page
The first web page is just the title of the table.
It includes a heading and a link to a New book page.
Click it to add data to the table.
![Page 9: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/9.jpg)
The New book page The new book page
provides text fields with labels.
You can use these to add data.
Just fill in the fields and click Create.
When done, it will take you to a third page that shows what you added.
![Page 10: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/10.jpg)
The show page and the index after adding a book to the table.
![Page 11: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/11.jpg)
The index.html.erb page uses embedded ruby code.
<h1>Listing books</h1><table> <tr>` <th>Isbn</th> <th>Author</th> <th>Title</th> </tr><% for book in @books %> <tr> <td><%=h book.isbn %></td> <td><%=h book.author %></td> <td><%=h book.title %></td> <td><%= link_to 'Show', book %></td> <td><%= link_to 'Edit', edit_book_path(book) %></td> <td><%= link_to 'Destroy', book, :confirm => 'Are you sure?', :method
=> :delete %></td> </tr><% end %></table><br /><%= link_to 'New book', new_book_path %>
![Page 12: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/12.jpg)
Explanation of some of the index page code The <table> tag creates a table with headers
enclosed by <th>…</th> , rows by <tr>…</tr>, and columns by <td>…</td>
The embedded ruby code is enclosed by <%=h…%> <%=h book.isbn %> This line displays the data in the book column.
The controller retrieves the data in a result set, a two dimensional array. It is displayed on the page using a ‘for’ loop. <% for book in @books %> The ‘@’ sign is used to indicate a variable.
The <%= link_to 'New book', new_book_path %> line generates the html code <a href="/books/new">New book</a> .
![Page 13: Ruby on Rails Creating a Rails Application Carol E Wolf CS396X.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d995503460f94a83723/html5/thumbnails/13.jpg)
Header code added by rails to the beginning of the web pages. It also adds a foot to the end.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Books: index</title> <link href="/stylesheets/scaffold.css?1217948068"
media="screen" rel="stylesheet" type="text/css" /> </head> <body> <p style="color: green"><%= flash[:notice] %></p>