Ciao a tutti,
sto preparando un applicativo con rails per gestire le attività di un
ente di formazione.
###########################
PREMESSE
###########################
Ho necessità di poter allegare documenti ai vari stakeholders.
Esempio:
- vorrei poter allegare il cv del singolo allievo alla scheda del
singolo allievo, - oppure la piantina dell’aula alla scheda descrittiva dell’aula
e via dicendo…
1 - Ho preparato il controller mettendoci il metodo upload:
def upload
t = Time.now
nome = t.to_i.to_s
uploaded_io = params[:file]
File.open(Rails.root.join(‘public’, ‘uploads’, uploaded_io.nome), ‘w’)
do |file|
file.write(uploaded_io.read)
end
end
2- in ciascuna scheda dei vari stakeholders volevo mettere questo form:
<% form_tag({ :controller => :attachment, :action => :upload},
:multipart => true) do %>
<%= file_field_tag ‘file’, :id => “search-text” %> didascalia: <%=
text_field_tag :didascalia,nil, :id => “search-text” %>
<%= hidden_field_tag(:idext, @resource.id) %>
<%= hidden_field_tag(:categoria, Resource::CATEGORIA) %>
<%= submit_tag(“ALLEGA”, :id => “search-submit-attach”) %>
<% end %>
3- tabella su db
±--------------±-------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±--------------±-------------±-----±----±--------±---------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| didascalia | varchar(255) | YES | | NULL | |
| nomeoriginale | varchar(255) | YES | | NULL | |
| nome | varchar(255) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
| idext | int(11) | YES | | NULL | |
| categoria | int(11) | YES | | NULL | |
±--------------±-------------±-----±----±--------±---------------+
MA QUANDO PROVO IL TUTTO:
Routing Error
No route matches “/attachment/upload” with {:method=>:post}
###########################
DOMANDE
###########################
1- E’ giusta la mia configurazione di routes:
map.resources :attachments, :collection => { :upload => :any }??
2- con quel form però carico solo il file nel filesystem…ma a me serve
anche caricarne i riferimenti del db. Come faccio ?
Devo cambiare il form e fare un <% form_for(@attachment) do |f| %> ?
######################################################
RINGRAZIAMENTI DOVUTI
######################################################
A chi ha avuto la pazienza e la cortesia di seguirmi fino ad adesso: il
mio ringraziamento…
Come a chi avrà pietà di me e mi spiegherà dove sbaglio…
:-D