Ciao a tutti,
nella mia applicazione ho una form per il caricamento di un file xml in
tabelle DB2, una per ogni tipo di file, collegate ad una tabella
“file_list” tramite polymorphic associations.
Nella form new.rhtml ho (allego solo la parte di codice relativa alla
domanda):
<% form_for(:file_list,
:url => {:action => ‘create’},
:html => { :multipart => true }) do |form| %>
File:<%= form.file_field ("uploaded_doc") %>
<%= submit_tag “Upload” %>
<% end %>
Nel model file_list ho il metodo:
def uploaded_doc=(doc_field)
self.name =
File.basename(doc_field.original_filename).gsub(/[^\w._-]/,’’)
self.date = Time.now.to_date
@content = doc_field.read
end
La variabile d’istanza @content viene caricata con il contenuto del file
xml.
A questo punto dovrei salvare il file nel campo “file” in una delle
tebelle collegate alla file_list.
Purtroppo però non sò come fare a passare @content al metodo create del
mio controller che vi allego sotto:
def create
…
@file_list = FileList.new(params[:file_list])
@file_list.xmlfile = eval("#{@poly_model}").new(params[:uploaded_doc])
if @file_list.save
…
end
Ho provato con @file_list.xmlfile.file = @content ma @content è vuoto.
P.S.= con eval("#{@poly_model}")passo il nome del model della tabella in
cui devo salvare il file.
Attualmente, la mia applicazione salva correttamente il contenuto della
file_list, crea un record nella tabella di destinazione del file, ma non
riesce a salvare il contentuto del file.
Qualche suggerimento?
Vi ringrazio e vi saluto