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.