Upload ficheros

Buenas, soy nuevo en Ruby y en Rails.

He hecho una pequeña aplicación para dar de alta usuarios y tengo un
apartado para subir una foto a MySQL. La parte de crear un nuevo usuario
va
perfectamente. Mi problema es al Editar el usuario y querer cambiar la
fotografía. No se cual es el problema, porque copio la forma de proceder
del
“new” al “edit”. Os copio los ficheros.

CONTROLLER
def new
@usuario = Usuario.new
@asociaciones = Asociacion.find(:all, :order=>“denominacion”)
@seleccion = []
end

def create
@usuario = Usuario.new(params[:usuario])
@usuario.asociacion = Asociacion.find(params[:asociacion])
@usuario.espacio_id = session[:espacio]
@usuario.foto = params[:usuario][:foto].read
@usuario.content_type = params[:usuario][:foto].content_type

if @usuario.save
  flash[:notice] = 'Usuario creaado correctamente.'
  redirect_to :action => 'list'
else
  @asociaciones = Asociacion.find(:all, :order=>"denominacion")
  render :action => 'new'
end

end

def edit
@usuario = Usuario.find(params[:id])
@seleccion = []
@asociaciones = Asociacion.find(:all, :order=>“denominacion”)
@seleccion = @usuario.asociacion.id

end

def update
@usuario = Usuario.find(params[:id])
@usuario.asociacion_id = params[:asociacion]
@usuario.foto = params[:usuario][:foto].read
@usuario.content_type = params[:usuario][:foto].content_type
if @usuario.update_attributes(params[:usuario])
flash[:notice] = ‘Usuario actualizado correctamente.’
redirect_to :action => ‘show’, :id => @usuario
else
render :action => ‘edit’
end
end

CREAR USUARIO VIEW

Crear usuario

<% form_for :assignment, :url => {:action => ‘create’}, :html =>
{:multipart
=> true} do %>
<%= render :partial => ‘form’ %>
<% end %>

<%= submit_tag “Crear” %>

EDITAR USUARIO VIEW

Editar usuario

<% form_for :assignment, :url => {:action => ‘update’,:id => @usuario},
:html => {:multipart => true} do %>
<%= render :partial => ‘form’ %>
<% end %>

<%= submit_tag “Editar” %>

Muchas gracias si me podéis ayudar. Un saludo.

buenas,

new hace entre poco y nada. Para hacer loq ue dices creo que deberías
fijarte
más en “create” que si te das cuenta es el que utiliza.

<% form_for :assignment, :url => {:action => ‘create’}, :html =>
{:multipart => true} do %>

   Ten por seguro que vas a tener que hacer un .save en algún sitio, 

para
guardar los cambios en la base de datos. (vamos o yo no sabría hacerlo
sin
eso)

Un saludo y suerte con la aplicación!

On Monday 21 April 2008 13:25:24 Luis Miguel Cabezas Granado wrote:

@usuario = Usuario.new

@usuario = Usuario.find(params[:id])
@usuario.content_type = params[:usuario][:foto].content_type

Crear usuario

Editar usuario

Muchas gracias si me podéis ayudar. Un saludo.


Atentamente

David P. Martínez