/ / Dashboard utente - Confuso - ruby-on-rails, database, dashboard

Dashboard utente - Confuso - ruby-on-rails, database, dashboard

Attualmente sto creando un sito web in cui ogni utente registrato ha un dashbaord. Il dashbaord ha colonne che mostrano la posizione del loro elenco di cui possono avere molte.

Non sono sicuro di come modellarlo. Attualmente, quando un utente crea un elemento, la colonna dello stato nell'elenco è impostata su 1. Questo è il valore per live. Posso impostare il valore di stato su 2,3,4 per gli altri rispettivi valori, tuttavia questo causa un problema. Se il valore è due, l'inserzione apparirà nella casella degli acquisti, ma apparirà anche nella casella degli acquisti sulla dashboard dei venditori.

ScreenShot del dashboard

Come dovrei modellarlo / costruirlo per garantire che due utenti possano interagire con esso in modi diversi.

Grazie.

risposte:

0 per risposta № 1

Ci sono un paio di modi per implementare il modello desiderato. Potresti semplicemente aggiungere due stati diversi per ogni elemento, diciamo seller_status, user_status. Se l'articolo appartiene a un solo venditore e un solo utente, questo approccio va bene.

In alternativa, se hai più utenti che possono possedere lo stesso articolo. Dovresti creare una tabella di riferimento univoca, diciamo, UsersItems con belongs_to: users e belongs_to: seller. In questo modo l'effettivo elenco dell'articolo per il venditore utilizza lo stato di Item modello e lo stato di ogni elenco utente utilizza il proprio stato da UsersItems.

Quest'ultimo approccio è preferibile se si prevede di espandere ulteriormente le interazioni tra ciascun Utente e gli Articoli, poiché è possibile memorizzare informazioni specifiche sulla loro relazione sul loro unico UsersItems iscrizione.

Tuttavia, è difficile dire se questo è esattamente ciò di cui hai bisogno. Perché non hai detto cosa sono questi elementi e come si relazionano ad entrambi User e Seller Non so nemmeno se sono la stessa tabella. Se vuoi approfondire la tua domanda spiegando cosa speri di ottenere e la Tabella Database, posso approfondire ulteriormente l'argomento.