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



Mayo 22, 2008 a las 5:07 pm |
[...] Bingo sobre Railes ver tutorial anterior [...]