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
File Upload
<% form_tag ({:action => 'uploadFile'},
:multipart => true) do %>
Select File :
<%= file_field 'upload', 'datafile' %>
<%= submit_tag "Upload" %>
<%end%>
nose si lo estoy haciendo mal o tengo que usar un plugin
gracias de antemano
saludos
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
Oscar N. wrote:
perdon mi controlador esta de la siguiente forma
¿Tienes una tabla Musicas en tu BD?
si tengo una bd llamada musicas y tiene un campo llamado image
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