Ciao a tutti!
Mi scuso fin d’ora per il post lungo.
Ho iniziato da poco ad imparare RoR per sviluppare una mia applicazione
e devo dire che alcuni post trovati qui mi sono stati di grandissimo
aiuto.
Ora però sono arrivato ad un punto dal quale non riesco a ripartire, vi
spiego il problema:
La mia applicazione dovrebbe fondamentalmente gestire un elenco di
gruppi sportivi di varie zone d’italia.
Il mio caro utente dopo essersi iscritto ha la possibilità di registrare
3 gruppi sportivi al massimo.
Successivamente, lo stesso utente, dopo essersi loggato, potrà creare,
per ciascun gruppo sportivo iscritto, un numero “n” di news per
comunicare le iniziative tipo gare, manifestazioni, etc.
Il tutto finirebbe in pasto agli rss magari divisi per provincia.
Sto gestendo il tutto con 3 tabelle: utenti, gruppi, news
Bene ciò che non riesco a fare (credo proprio da principiante) è:
Come è possibile includere l’ id del gruppo nella tabella delle news
quando invio il form per l’inserimento della news stessa??
Nella tabella news ho la colonna id_gruppo.
Spero di essermi spiegato decentemente.
Ringrazio chiunque abbia voglia di rispondermi e spero un giorno di
poter ricambiare.
Come è possibile includere l’ id del gruppo nella tabella delle news
quando invio il form per l’inserimento della news stessa??
Nella tabella news ho la colonna id_gruppo.
Se news appartiene ad un gruppo ed il modello e` configurato
correttamente basta passare un parametro ‘news’, ‘gruppo_id’
quando invio il form per l’inserimento della news stessa??
e devo dire che alcuni post trovati qui mi sono stati di grandissimo
Il tutto finirebbe in pasto agli rss magari divisi per provincia.
poter ricambiare.
La prossima volta cercherodi metterci un po' di piu a rispondere.
ciao Francesco (e qui rispondo anche a mclow (marco):
tranquillo sono un tipo “vecchio stampo” o se preferisci “old style”
brevemente:
ecco i miei modelli:
class Gruppi < ActiveRecord::Base
has_many :news
end
class News < ActiveRecord::Base
belongs_to :gruppi
end
Sostanzialmente ho una form dalla quale consento all’utente di inserire
le news del proprio gruppo sportivo. Ovviamente nella tabella news ho
creato la colonna id_gruppi dove andrò a mettere l’id del gruppo del
quale sto scrivendo la news.
La domanda è: come faccio a passare anche l’id del gruppo quando invio
la form per l’inserimento della news?
grazie e… una stretta di mano per la velocità con cui risponderete!!
A.
p.s.: lo so sono una capra, ma sono alle prime armi e nonostante mi sia
comprato libri e stampato articoli trovati googolando, mi sono bloccato
qui.
quando dici id_gruppi intendi “group_id”, giusto? Se ti attieni alle
‘regole’ di rails avrai la vita più facile. Idem per “Gruppi”: si chiamasse
“Group” era forse meglio…
Ci mandi il codice del form, in modo che possiamo (forse!) dirti dove
sbagli?
Usi IRB? Se sì, è spesso utile provare a replicare le operazioni sui
Model da lì, giusto per essere sicuri che il problema sta nel view e non
nella struttura delle tabelle o nelle definizioni delle relazioni.
Qualcosa di questo tipo ti funziona? (da digitare in IRB)
g = Group.new
g.nome
="Curlingpiù"g.indirizzo = “Via dello Sport”
…
…
g.save
n = News.new
n.title = “Gara per tutti”
n.description = “Finché duri il ghiaccio, qui si gioca di brutto.”
n.save
Sostanzialmente ho una form dalla quale consento all’utente di inserire
le news del proprio gruppo sportivo. Ovviamente nella tabella news ho
creato la colonna id_gruppi dove andrò a mettere l’id del gruppo del
quale sto scrivendo la news.
La domanda è: come faccio a passare anche l’id del gruppo quando invio
la form per l’inserimento della news?
in casi come il tuo, è molto probabile che il Gruppo sia scelto
dell’utente
nella form stessa di inserimento/modifica della News. Solitamente questa
scelta viene fatta tramite una SELECT del tipo:
Fortitudo
Foo bar
Livorno Merda
Definendo una SELECT di questo tipo, il parametro “id_gruppi” viene
passato
al controller e se il codice restante è corretto il nuovo record sarà
inserito nella tabella con il valore “id_gruppi” selezionato.
Per semplificare la realizzazione della SELECT in questione, ti
consiglio di
utilizzare l’helper:
collection_select
Detto questo, concordo con Francesco, “id_gruppi” è molto brutto, almeno
per
tre motivi:
Decidi se usare nomi in italiano o nomi in inglese, ti consiglio
quest’ultima opzione
Rails riconosce automagicamente relazioni basate sull’_id finale,
quindi eventualmente cambia il nome della colonna in “gruppi_id”
Perché al plurale? “Gruppi” è il nome di un oggetto, cambialo in
“Gruppo”.
Marco
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.