File_field e polymorphic associations

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

Ciao,
è possibile con ruby collegarsi a più DB in contemporanea?
Stò lavorando su un progetto per cui ho la necessita di collegarmi a
un db mysql e a un db postgres analizzare i dati e riempire alcune
tabelle di un altro DBMysql.
Si tratta di un CMS che stò sviluppando che verrà venduto in
abbinamento ad un programma di gestione magazzino, fatturazione ecc…
La sezione e-comm del CMS deve prendere i dati di disponibilità dal
gestionale (DB postgres), e copiarli nel DB mysql del CMS.
Oltre a questo devo inserire tutti gli ordini conclusi in un altro DB
mysql, sul quale si appoggia un altro software per lo smistamento
degli ordini.

Per risolvere il problema in tempi brevi farò 2 piccoli software
(magari con PHP) che trasferiscono i dati da un DB all’altro. Però mi
chiedevo se fosse possibile farlo anche con Ruby.

Fabio

Ciao Fabio,
forse è meglio che apri un nuovo topic per la tua domanda…io purtroppo
non sò risponderti.

Nessuno può darmi una mano per il mio problema?

Ciao