Ciau a tutti, avrei un problema con la relazione has_and_belongs_to_many
per relazionare “molti a molti” due modelli (artists e events). Il mio
problema sussiste nell’inserimento degli id nella tabella ponte
“artists_events”, ossia non ho idea di come farli inserire
dinamicamente:
dati gli artisti prensenti nel database, quando creo un evento, voglio
associargli gli artisti (quindi anche più di uno) che ci possono
partecipare.
Mi potete dare una mano please?
Ciau a tutti, avrei un problema con la relazione has_and_belongs_to_many
per relazionare “molti a molti” due modelli (artists e events). Il mio
problema sussiste nell’inserimento degli id nella tabella ponte
“artists_events”, ossia non ho idea di come farli inserire
dinamicamente:
dati gli artisti prensenti nel database, quando creo un evento, voglio
associargli gli artisti (quindi anche più di uno) che ci possono
partecipare.
Mi potete dare una mano please?
No ho capito come funziona il “molti a molti”, il mio problema è
l’autopopolamento della tabella ponte…ho provato a vedere i link che
ha postato Pietro G. su come fare il tutto, però ho problemi
sulla sintassi del check_box, perchè se metto check_box_tag mi diche che
non lo conosce come metodo, ma su internet non trovo sintassi per il
check_box normale…
No ho capito come funziona il “molti a molti”, il mio problema è
l’autopopolamento della tabella ponte…ho provato a vedere i link che
ha postato Pietro G. su come fare il tutto, però ho problemi
sulla sintassi del check_box, perchè se metto check_box_tag mi diche che
non lo conosce come metodo, ma su internet non trovo sintassi per il
check_box normale…
ciao,
non ho capito bene qual esempio ti ho indicato io; ho appena provato
l’esempio su railscasts:
ho ruby 1.8.6 e rails 2.3.4 (per ora sono su windows, ma è più o meno
uguale) e funziona tutto, in particolare funziona check_box_tag.
Che versione di ruby e rails hai?
Se vuoi posso mandarti l’esempio che ho provato, ma praticamente è
roba di cinque minuti: ho creato due scaffold per artist e event, ho
aggiunto una riga ai metodi update e create, una nei model e poi
nei form di event ho inserito:
<% for artist in @artists %>
<%= check_box_tag "event[artist_ids][]", artist.id,
[…] poichè è probabile che ci potranno essere molti artisti, non
c’è un modo diverso di visualizzare la lista degli artisti tenendo conto
di questo fatto?
Soluzione uno: usa una select multipla; è un po’ più compatta di una
sfinza di checkbox, ma non ti cambia molto la vita.
Soluzione due, più complessa: usa un qualche modo ajax per navigare
l’elenco degli artisti (paginazione, tabs, autocomplete, altro) e fai
in modo che, quando si clicca l’artista, venga aggiunto un hidden
(sempre chiamato event[artist_ids][]).
In una situazione simile ho usato jquery.autocomplete, facendo in modo
che quando scegli un elemento venga creato un hidden e venga mostrato
l’elemento, con accanto il pulsante rimuovi che, se premuto, toglie
hidden e visualizzazione dell’elemento.
Sembra complicato, ma me la sono cavata con una decina di righe di
javascript e un po’ di html; tutto sta nel dividere il problema in
problemi più semplici.
Se ho tempo, nel weekend, provo ad estrarre solo questa parte e a
pubblicarla stile tutorial.
No ho capito come funziona il “molti a molti”, il mio problema �
l’autopopolamento della tabella ponte…ho provato a vedere i link che
ha postato Pietro G. su come fare il tutto, per� ho problemi
sulla sintassi del check_box, perch� se metto check_box_tag mi diche che
non lo conosce come metodo, ma su internet non trovo sintassi per il
check_box normale…
ho ruby 1.8.6 e rails 2.3.4 (per ora sono su windows, ma � pi� o meno
uguale) e funziona tutto, in particolare funziona check_box_tag.
Che versione di ruby e rails hai?
Se vuoi posso mandarti l’esempio che ho provato, ma praticamente �
roba di cinque minuti: ho creato due scaffold per artist e event, ho
aggiunto una riga ai metodi update e create, una nei model e poi
nei form di event ho inserito:
<% for artist in @artists %>
<%= check_box_tag "event[artist_ids][]", artist.id,
e ovviamente il codice in show per mostrare gli artisti associati.
Dacci qualche dettaglio in pi� per capire il problema.
pietro
Ho anche io versione ruby 1.8.6 e rails 2.3.4 e infatti ora che mi hai
postato questo pezzo di codice è giusto ed è come lo facevo anche io, se
non che sbagliavo nel fatto che mettevo “f.check_box_tag”…un
consiglio, poichè è probabile che ci potranno essere molti artisti, non
c’è un modo diverso di visualizzare la lista degli artisti tenendo conto
di questo fatto?
Grazie mille
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.