1 / 8

Introduction to Rails Controllers and Views with Template Rendering

This document provides an overview of Rails controllers and views, covering fundamental concepts such as template rendering and parameter handling. It illustrates how to dynamically display prime numbers and other data using embedded Ruby within HTML. Key examples include fetching and rendering parameters passed from forms, as well as creating structured HTML tables for displaying computational results. This serves as a foundational resource for understanding the Rails framework and its MVC architecture.

linh
Télécharger la présentation

Introduction to Rails Controllers and Views with Template Rendering

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. 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> CS 142 Lecture Notes: Rails Controllers and Views

  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> CS 142 Lecture Notes: Rails Controllers and Views

  3. Control Structures, cont’d Template: ... <% params.each do |key, value| %> <p><%= key %>: <%= value%></p> <% end %> ... HTML: ... <p>x: 44</p> <p>y: 92</p> <p>action: showParams</p> <p>controller: rails_intro</p> ... CS 142 Lecture Notes: Rails Controllers and Views

  4. Controller: Compute Primes classRailsIntroController < ApplicationController defshow_primes ifparams[:count] != nil then count = params[:count].to_i() else count = 10 end @primes = [] candidate = 2 while@primes.length < count is_prime= true @primes.eachdo |prime| if(candidate % prime) == 0 then is_prime= false break end end ifis_primethen @primes << candidate end candidate += 1 end end end Query value determines# primes to compute Fill in @primes arraywith prime numbers CS 142 Lecture Notes: Rails Controllers and Views

  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> CS 142 Lecture Notes: Rails Controllers and Views

  6. Directory Structure app controllers rails_intro_controller.rb student_controller.rb views rails_intro hello.html.erb show_params.html.erb show_primes.html.erb student models assets images javascripts stylesheets application.css db migrate CS 142 Lecture Notes: Rails Controllers and Views

  7. Layouts app/views/layouts/application.html.erb: <?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/rails_intro/hello.html.erb: <% @title = "Hello, user" %> <p> This page was fetched at <%= Time.now() %> </p> CS 142 Lecture Notes: Rails Controllers and Views

  8. CS 140 Lecture Notes: File Systems

More Related