Database relationship

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?

Grazie mille

Lorenzo C. wrote:

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?

Grazie mille

Scusate ho visto ora un altro topic uguale:
http://www.ruby-forum.com/topic/176915#new

Se ho problemi nuovamente riposto

http://railstutor.org/projects/rails-tutor/wiki/Associations

Il 19 novembre 2009 15.30, Lorenzo C. [email protected] ha
scritto:

Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Carlo P.
email: [email protected]
twitter: @carlopecchia

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…

Grazie mille

Il 19 novembre 2009 16.31, Lorenzo C. [email protected] ha
scritto:

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:

versione testuale:
http://asciicasts.com/episodes/17-habtm-checkboxes

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,

@event.artists.include?(artist) %>
<%= artist.name %>

<% end %>

e ovviamente il codice in show per mostrare gli artisti associati.

Dacci qualche dettaglio in più per capire il problema.

pietro

Il 20 novembre 2009 13.53, Lorenzo C. [email protected] ha
scritto:

[…] 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.

pietro

Ora provo a farlo!! Grazie mille per tutto!!

Pietro G. wrote:

Il 19 novembre 2009 16.31, Lorenzo C. [email protected] ha
scritto:

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:
#17 HABTM Checkboxes - RailsCasts
versione testuale:
http://asciicasts.com/episodes/17-habtm-checkboxes

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,

@event.artists.include?(artist) %>
<%= artist.name %>

<% end %>

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