Forum: Rails-ES subir mp3 a base de datos y guardar el nombre en un campo

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Oscar N. (Guest)
on 2009-06-05 20:14
hola a todos estoy tratando de subir un mp3 a mi servidor y guardar el
nombre del archivo en mi base de datos he encontrado un totorial con el
cual logro subir el archivo al servidor pero no logro guardar el nombre
en la base de datos si alguien me puede ayudar en mi  modelo tengo el
siguiente codigo

class Musica < ActiveRecord::Base
def self.save(upload)
    name =  upload['datafile'].original_filename
    directory = "public/data"
    # create the file path
    path = File.join(directory, name)
    # write the file
    File.open(path, "wb") { |f| f.write(upload['datafile'].read) }
  end

end
en el controlador lo siguiente

class UploadController < ApplicationController
  def index
     render :file => 'app\views\upload\uploadfile.rhtml'
  end
  def uploadFile
    post = Musica.save(params[:upload])
    nuevo = Musica.new(params['nombre'=>'oscar']);
    nuevo.save
    render :text => "File has been uploaded successfully"
  end
end
y la vista  lo siguiente
<h1>File Upload</h1>
<% form_tag ({:action => 'uploadFile'},
                        :multipart => true) do %>
<p><label for="upload_file">Select File</label> :
<%= file_field 'upload', 'datafile' %></p>
<%= submit_tag "Upload" %>
<%end%>
nose si lo estoy haciendo mal o tengo que usar un plugin
gracias de antemano
saludos
Oscar N. (Guest)
on 2009-06-05 20:16
perdon mi controlador esta de la siguiente forma
class UploadController < ApplicationController
  def index
     render :file => 'app\views\upload\uploadfile.rhtml'
  end
  def uploadFile
    post = Musica.save(params[:upload])

    render :text => "File has been uploaded successfully"
  end
end



perdon por el error pero he probado varias cosas y nada gracias por la
ayuda
Carlos B. (Guest)
on 2009-06-05 20:37
Oscar N. wrote:
> perdon mi controlador esta de la siguiente forma

¿Tienes una tabla Musicas en tu BD?
Oscar N. (Guest)
on 2009-06-05 21:15
si tengo una bd llamada musicas y tiene un campo llamado image
javier ramirez (Guest)
on 2009-06-05 21:26
(Received via mailing list)
Hola,

>  pero no logro guardar el nombre en la base de datos
>

podría ser porque en ningún momento le estás diciendo que haga
absolutamente nada con tu base de datos?

> end
>

En ese método estás leyendo un fichero temporal (el parámetro upload) y
creando un fichero binario con el nombre y el contenido del upload. No
estás haciendo nada contra la base de datos.

Antes de cerrar el método prueba a hacerle algo así como

Musica.create(:name=>name)

(si el campo no se llama "name" en la tabla cambia :name por el valor
apropiado)

suerte,

j

--
javier ramírez

..i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
..you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez
This topic is locked and can not be replied to.