I have 3 tables - users, things, and follows. Gli utenti possono seguire le cose attraverso la tabella seguente, associando uno user_id
con uno things_id
. Ciò significherebbe:Sono necessari i dati dalla barra di rotaia join table, has_many: through
class User
has_many :things, :through => :follows
end
class Thing
has_many :users, :through => :follows
end
class Follow
belongs_to :users
belongs_to :things
end
Così posso recuperare thing.users senza alcun problema. Il mio problema è se nella tabella seguente, ho una colonna denominata "relazione", quindi posso impostare un follower come "admin", voglio avere accesso a quella relazione. Quindi in un ciclo posso fare qualcosa del tipo:
<% things.users.each do |user| %>
<%= user.relation %>
<% end %>
C'è un modo per includere la relazione nell'oggetto utente originale? Ho provato :select => "follows.relation"
, ma non sembra unirsi all'attributo.
È davvero una cattiva idea denominare una relazione "relazione" ... Questo può rompere alcuni interni rubino e si otterrà un comportamento inaspettato! – Lichtamberg
OK, grazie. Diciamo che la colonna è chiamata "is_admin" e ha un tipo di booleano .. –