07/06/2015, 22:38
|
| | | Fecha de Ingreso: octubre-2014 Ubicación: Costa Rica
Mensajes: 6
Antigüedad: 10 años, 1 mes Puntos: 0 | |
Respuesta: Conexion sinatra con postgres hola, decidí borrar todo y comenzar de 0 con el pequeño proyecto, me encuentro con el problema de que no hay mucha información para conectar sinatra con postgress.
actualmente ya logre hacer la conexión pero al insertar datos me da un error y creo es porque no he dado bien la conexión a la DB y me falta instanciarla.
les muestro el principal y las vistas.
ojala puedan sacar unos minutos para orientarme que falta para que pueda guardar datos en la DB ESTE ES EL PRINCIPAL
# myapp.rb
require 'sinatra'
require 'pg'
db_params = {
host: 'localhost',
dbname: 'expo',
port: '5433',
user: 'postgres',
password: '123456'
}
Psql = PG::Connection.new(db_params)
# index principal
get '/' do
erb :index
end
# nuevo producto
get '/articulos' do
erb :nuev_linea
end
# guarda los productos
post '/articulos' do
@articulo = Articulo.new(:marca => params[:marca].upcase, :descripcion => params[:descripcion].upcase, :precio => params[:precio].upcase)
if !campo_vacio(params[:marca]) and !campo_vacio(params[:descripcion])
if @articulo.save
redirect "/articulos/#{@articulo.id}"
else
redirect '/articulos'
end
else
redirect '/index'
end
end VISTAS
[COLOR="rgb(255, 0, 255)"]index.erb[/COLOR]
<h1>Menú Principal Libreria</h1>
<br/>
<p><a href="/articulos">Registro de Productos</a></p>
<br/>
<p><a href="/listalineas">Listado de Productos</a></p> nuev_linea.erb
<div>
<form action="/articulos" method="post" accept-charset="utf-8">
<label>Marca </label><input type="text" name="marca" id="marca" class="campo_entrada" maxlength=4>
<br/><br/>
<label>Descripcion </label><input type="text" name="descripcion" id="descripcion" class="campo_entrada" maxlength=30>
<br/><br/>
<label>Precio </label><input type="text" name="precio" id="precio" class="campo_entrada" maxlength=30>
<br/> <br/>
<input type="submit" value="Guardar"/>
</form>
<p><a href="/">Menú Principal</a></p>
</div> ERROR QUE REPORTA
NameError at /articulos
uninitialized constant Articulo
file: app.rb location: block in <main> line: 27
ES ESTA LINEA:
@articulo = Articulo.new(:marca => params[:marca].upcase, :descripcion => params[:descripcion].upcase, :precio => params[:precio].upcase) |