1 / 13

Ruby on Rails Creating a Rails Application

Ruby on Rails Creating a Rails Application. Carol E Wolf CS396X. 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.

ezhno
Download Presentation

Ruby on Rails Creating a Rails Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ruby on RailsCreating a Rails Application Carol E Wolf CS396X

  2. 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

  3. Rails directory system

  4. 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

  5. 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:stringauthor:stringtitle: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.

  6. 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

  7. 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/bookswhere 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.

  8. 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.

  9. 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.

  10. The show page and the index after adding a book to the table.

  11. 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 %>

  12. 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> .

  13. 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>

More Related