Avevo gia’ posto il problema ma sono in stand by da alcuni giorni.
Purtroppo e’ solo da alcune settimane che sto facendo conoscenza con
rails e molte cose mi sfuggono, soprattutto troppi concetti tutti
assieme mi hanno mandato in confusione.
Ho tre tabelle settori, categorie e utenti.
Settori e categorie sono in relazione uno a molti, categorie e utenti
molti a molti.
Vorrei fare in modo che all’inserimento di un nuovo utente abbia la
possibilita’ di selezionare un settore in base al quale mi viene
fornita la lista delle relative categorie.
Scelta la categoria o le categorie, viene creato il nuovo utente,
oppure aggiornato, e gli viene assegnata la categoria o le categorie
di appartenenza.
Sono riuscito ad arrivare fino al punto in cui posso selezionare il
settore e mi vengono mostrate le categorie di appartenenza ma e’
codice fatto con i piedi, comunque:
nelle view di utente ho il partial dei campi del form relativi
all’utente, es:
<%= f.label :"nome e cognome" %>
<%= f.text_field :nome %>
<%= f.label :note %>
<%= f.text_area :notes %>
il partial sector_categories contiene:
<%= collection_select "category", :sector_id, @sectors, :id, :name, :prompt => "seleziona il settore" %>
l’action filter_category_in_sector fa un
@categories = Category.find_all_by_sector_id(params[:sector_id])
render :layout => false
Ovviamente per tale action devo avere una view, se ho capito bene come
funziona rails, pertanto la view relativa all’action e’:
filter_categories_in_sector.html.erb e contiene:
<% for category in @categories %>
<%= check_box_tag “category”, category.id %>
<%= category.name %>
<% end %>
e qui mi sono fermato.
Non so come fare in modo di assegnare le categorie selezionate
all’utente nel momento in cui ne viene creato uno nuovo oppure viene
aggiornato uno esistente.
Se c’e’ qualche anima buona per poterlo fare passo passo gliene sarei
grato almeno posso superare questo stato di stand by.