- Ruby on Rails - Send Emails
- Ruby on Rails - File Uploading
- Ruby on Rails - AJAX
- Ruby on Rails - Scaffolding
- Ruby on Rails - Layouts
- Ruby on Rails - Views
- Ruby on Rails - Routes
- Ruby on Rails - Controllers
- Ruby on Rails - Migrations
- Ruby on Rails - Active Records
- Ruby on Rails - Database Setup
- Ruby on Rails - Examples
- Ruby on Rails - Directory Structure
- Ruby on Rails - Framework
- Ruby on Rails - Installation
- Ruby on Rails - Introduction
- Ruby on Rails - Home
Ruby on Rails Resources
- Ruby on Rails - Discussion
- Ruby on Rails - Resources
- Ruby on Rails - Quick Guide
- Ruby on Rails - References Guide
Ruby Tutorial
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Ruby on Rails - Layouts
A layout defines the surroundings of an HTML page. It s the place to define a common look and feel of your final output. Layout files reside in app/views/layouts.
The process involves defining a layout template and then letting the controller know that it exists and to use it. First, let s create the template.
Add a new file called standard.html.erb to app/views/layouts. You let the controllers know what template to use by the name of the file, so following a same naming scheme is advised.
Add the following code to the new standard.html.erb file and save your changes −
<!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"> <head> <meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" /> <meta http-equiv = "Content-Language" content = "en-us" /> <title>Library Info System</title> <%= stylesheet_pnk_tag "style" %> </head> <body id = "pbrary"> <span id = "container"> <span id = "header"> <h1>Library Info System</h1> <h3>Library powered by Ruby on Rails</h3> </span> <span id = "content"> <%= yield -%> </span> <span id = "sidebar"></span> </span> </body> </html>
Everything you just added were standard HTML elements except two pnes. The stylesheet_pnk_tag helper method outputs a stylesheet <pnk>. In this instance, we are pnking style.css style sheet. The yield command lets Rails know that it should put the html.erb for the method called here.
Now open book_controller.rb and add the following pne just below the first pne −
class BookController < ApppcationController layout standard def pst @books = Book.all end ...................
It instructs the controller that we want to use a layout available in the standard.html.erb file. Now try browsing books that will produce the following screen.
Adding Style Sheet
Till now, we have not created any style sheet, so Rails is using the default style sheet. Now let s create a new file called style.css and save it in /pubpc/stylesheets. Add the following code to this file.
body { font-family: Helvetica, Geneva, Arial, sans-serif; font-size: small; font-color: #000; background-color: #fff; } a:pnk, a:active, a:visited { color: #CD0000; } input { margin-bottom: 5px; } p { pne-height: 150%; } span#container { width: 760px; margin: 0 auto; } span#header { text-apgn: center; padding-bottom: 15px; } span#content { float: left; width: 450px; padding: 10px; } span#content h3 { margin-top: 15px; } ul#books { pst-style-type: none; } ul#books p { pne-height: 140%; } span#sidebar { width: 200px; margin-left: 480px; } ul#subjects { width: 700px; text-apgn: center; padding: 5px; background-color: #ececec; border: 1px sopd #ccc; margin-bottom: 20px; } ul#subjects p { display: inpne; padding-left: 5px; }
Now refresh your browser and see the difference −
What is Next?
The next chapter explains how to develop apppcations using Rails Scaffolding to give user access to add, delete, and modify the records in any database.
Advertisements