Pequeño ejemplo en rails

Como hacer el ejercicio 1 de ruby en Rails => Programa que coge 2 números y los Suma, Resta, Multiplica o Divide

Desde el directorio de ruby

Rails calculadora #Creamos la Aplicación
cd calculadora
ruby script/generate controller calculadora # Creamos el Controlador

Editamos \app\controllers\calculadora_controller.rb


class CalculadoraController < ApplicationController
def index
end
end


En Esta ocasión vamos a dejar index vacio. Rails asume que queremos hacer Render usando el archivo \app\views\calculadora\index.html.erb (.rhtml para versiones de rails anteriores a la 2) y Usando la plantilla \app\views\layouts\calculadora.html.erb

empezamos por la Vista index.html.erb.


<% form_for :calcu, :url => { :action => :resultado } do |formulario| %>

<label for=”numero1″>Numero

<%= text_field_tag ( “numero1″, “”, {“size” => 30}) %>

</label>

<label for=”numero2″>Numero

<%= text_field_tag ( “numero2″, “”, {“size” => 30}) %>

</label>

<fieldset> <legend>Operaciones</legend>

<label for=”operacion_suma”></label>

<%= radio_button_tag “operacion”, ’suma’, true %>Suma

<label for=”operacion_resta”></label>

<%= radio_button_tag “operacion”, ‘resta’ %>Resta

<label for=”operacion_multiplica”></label>

<%= radio_button_tag “operacion”, ‘multiplica’ %>Multiplicacion

<label for=”operacion_divide”></label>

<%= radio_button_tag “operacion”, ‘divide’ %>Division

</fieldset>

<input type=”submit” value=”Calcular”/>

<% end %>


Para insertar código usamos:
<%= %> # Ejecuta y muestra el resultado
<% %> # Solo ejecuta
<% puts %> # Ejecuta y muestra el resultado en la consola de WEBrick para depurar

La declaración del formulario es diferente de las declaraciones de los Inputs porque la Etiqueta start_form_tag no funciona en rails 2 así que Las variables :rails y |formulario | no se usan

Este formulario Llama a la Acción Resultado. Tenemos que crearla en el controlador calculadora_controller.rb


def resultado

@num1= params[:numero1].to_f
@num2= params[:numero2].to_f
@operacion = params[:operacion]
case @operacion
when “suma”
@resultado = @num1 + @num2
@operacion=”+”
when “resta”
@resultado = @num1 – @num2
@operacion=”-”
when “multiplica”
@resultado = @num1 * @num2
@operacion=”*”
when “divide”
@resultado = @num1 / @num2
@operacion=”/”
end
end


Ahora necesitamos una Vista para la nueva Acción Resultado (resultado.html.erb). Por ejemplo:


<h1>Resultado de la operacion</h1>

<br />

<%= “#@num1 #@operacion #@num2 = #@resultado” %>

<br />

<%= link_to “Volver”, :action => “index” %>


Probamos la Web
ruby script/server # Abrimos el servidor web
y
http://127.0.0.1:3000/calculadora

Ahora se podría poner guapo creando la plantilla \app\views\layouts\calculadora.html.erb. como esta:


<!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>Calculadora: <%= controller.action_name %></title>

<%= stylesheet_link_tag ‘calculadora’ %>

</head>

<body>

<p style=”color: green”><%= flash[:notice] %></p>

<div id=”all”>

<div id=”cabecera”><h1>MiniCalculadora sobre Railes</h1></div>

<div id=”cuerpo”>

<%= yield %>

</div>

</div>

</body>

</html>


yield Indica en donde se “Pegaran” las Vistas.

Con stylesheet_link_tag ‘calculadora’ es un Link a una Hoja de estilo en \public\stylesheets llamada calculadora.css:


BODY{ text-align: center;}
A{ color: White;}
#all{ margin: 10px auto;}
#cabecera{
width: 400px;
background: Gray;
padding: 5px 0px;
color: White;
border: 2px solid #cccccc;
margin: 10px auto;
}
#cuerpo{
width: 340px;
margin: 5px auto;
padding: 30px;
background: Gray;
border: 2px solid #cccccc;
color: white;
text-align: left;
}
#cuerpo LABEL{
display: block;
padding:6px;
}
#cuerpo FIELDSET{ margin: 10px 0px;}


Espero os sea Útil. Si veis algo mal, por favor, Avisa

Ver siguiente Tutorial

Una respuesta para “Pequeño ejemplo en rails”

  1. Bingo sobre Railes « Curso Dicampus 2008 Dice:

    [...] Bingo sobre Railes ver tutorial anterior [...]

Escribe un comentario