Mam 3 tabele - użytkownicy, rzeczy i następuje. Użytkownicy mogą postępować zgodnie z poniższą tabelą, wiążąc user_id
z things_id
. Oznaczałoby to:Potrzebujesz danych z tabeli łączenia szyn, has_many: przez
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
Dzięki temu mogę odzyskać thing.users bez problemu. Mój problem polega na tym, że jeśli w poniższej tabeli mam kolumnę o nazwie "relacja", mogę ustawić wyznawcę jako "admin", chcę mieć dostęp do tej relacji. Tak więc w pętli mogę zrobić coś takiego:
<% things.users.each do |user| %>
<%= user.relation %>
<% end %>
Czy istnieje sposób włączenia relacji do oryginalnego obiektu użytkownika? Próbowałem :select => "follows.relation"
, ale nie wydaje się, aby dołączyć do atrybutu.
To naprawdę zły pomysł, aby nazwać relację "relacja" ... Może to spowodować uszkodzenie niektórych wewnętrznych rubinów, a otrzymasz niespodziewane zachowanie! – Lichtamberg
W porządku, dzięki. Powiedzmy, że kolumna nazywa się "is_admin" i ma typ boolean .. –