Simple Rails Template <?xml version="1.0" - - PowerPoint PPT Presentation

simple rails template
SMART_READER_LITE
LIVE PREVIEW

Simple Rails Template <?xml version="1.0" - - PowerPoint PPT Presentation

Simple Rails Template <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html


slide-1
SLIDE 1

CS 142 Lecture Notes: Rails Controllers and Views Slide 1

Simple Rails Template

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Hello, User</title> </head> <body> <p> This page was fetched at <%= Time.now() %> </p> </body> </html>

slide-2
SLIDE 2

CS 142 Lecture Notes: Rails Controllers and Views Slide 2

Control Structures in Templates

?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Rails Parameters</title> </head> <body> <p> The <code>params</code> hash contains the following values: </p> <% params.each do |key, value| %> <p><%= key %>: <%= value %></p> <% end %> </body> </html>

slide-3
SLIDE 3

CS 142 Lecture Notes: Rails Controllers and Views Slide 3

Control Structures, cont’d

... <% params.each do |key, value| %> <p><%= key %>: <%= value %></p> <% end %> ... ... <p>x: 44</p> <p>y: 92</p> <p>action: showParams</p> <p>controller: rails_intro</p> ... Template: HTML:

slide-4
SLIDE 4

CS 142 Lecture Notes: Rails Controllers and Views Slide 4

Controller: Compute Primes

class RailsIntroController < ApplicationController def show_primes if params[:count] != nil then count = params[:count].to_i() else count = 10 end @primes = [] candidate = 2 while @primes.length < count is_prime = true @primes.each do |prime| if (candidate % prime) == 0 then is_prime = false break end end if is_prime then @primes << candidate end candidate += 1 end end end

Query value determines # primes to compute Fill in @primes array with prime numbers

slide-5
SLIDE 5

CS 142 Lecture Notes: Rails Controllers and Views Slide 5

Template to Display Primes

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ...> <html ...> <head> <title><%= @primes.length %> Prime Numbers</title> <%= stylesheet_link_tag 'main' %> </head> <body> <p> The first <%= @primes.length %> prime numbers are: </p> <table class="oddEven" cellspacing="0"> <tr class="header"><td>Prime Numbers</td></tr> <% @primes.each do |prime| %> <tr class="<%= cycle('odd', 'even') %>"> <td><%= prime %></td> </tr> <% end %> </table> </body> </html>

slide-6
SLIDE 6

Directory Structure

CS 142 Lecture Notes: Rails Controllers and Views Slide 6

app rails_intro views models controllers rails_intro_controller.rb student_controller.rb hello.html.erb show_params.html.erb show_primes.html.erb student stylesheets main.css db migrate assets javascripts images

slide-7
SLIDE 7

CS 142 Lecture Notes: Rails Controllers and Views Slide 7

Layouts

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title><%= @title %></title> </head> <body> <%= yield %> </body> </html> app/views/layouts/application.html.erb: <% @title = "Hello, user" %> <p> This page was fetched at <%= Time.now() %> </p> app/views/rails_intro/hello.html.erb:

slide-8
SLIDE 8

CS 140 Lecture Notes: File Systems Slide 8