Escribí un formulario web usando Sinatra y Haml que se usará para llamar a un script de Ruby.¿Cómo pasar un argumento al llamar a un archivo de vista?
Todo parece correcto excepto por una cosa: necesito pasar un argumento a un archivo de vista de Haml del script de Sinatra/Ruby.
Aquí es una parte de mi código:
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
require 'haml'
get '/' do
haml :index
end
post '/' do
name = params[:name]
vlan = params[:vlan]
tmp = nil
tmp = %x[./wco-hosts.rb -a -n #{name} -v #{vlan}]
if tmp.include?("Error")
haml :fail
else
haml :success
end
end
Si el script se encuentra con un arror se devolverá una cadena que incluye la palabra "error". Si esto sucede, estoy llamando a un archivo Haml que mostrará una página de error a los usuarios. Si el script no encuentra un arror, devolverá una página de éxito.
Quiero incluir, en la página de éxito/falla, el nombre de la nueva máquina virtual que el usuario agregó. Mi problema es que no tengo ni idea de cómo pasarlo en mis dos archivos de Haml. Busqué una solución, pero no encontré nada.
funcionando perfectamente, muchas gracias mucho (votaron!) – Cocotton
¿Funcionará esto también para un diseño? Si tengo 'haml: index,: layout =>: common_layout,: locals => {: object => my_object}', ¿la variable local 'object' se definirá en la plantilla' common_layout'? – Alexey