Zakładając, że koduję abstrakcję i przechodzę przez nazwy kolumn obiektu x, jaki jest najlepszy sposób na wykrycie, czy kolumna jest skojarzeniem czy nie?Rails/ActiveRecord: wykrywanie, czy kolumna jest powiązana, czy nie
wiem, że mogę to zrobić, ale zastanawiam się, czy istnieje lepszy sposób:
@user = User.first
@user.attributes.keys.each do |column|
if column[-3..-1] == "_id" && @user.respond_to?(column[0..-4].to_sym)
puts "#{column} is an association/relation."
else
puts "#{column} is not an assocation/relation."
end
end
end
Wszelkie metody lub pomocnicy wbudowane w szynach wykryć skojarzenia? Powyższy kod nie jest ani ładny, ani głupim dowodem. Dzięki!
Jak Rails 1.1.1 można filtrować przez makro natychmiast: 'stowarzyszenia = User.reflect_on_all_associations (: belongs_to) 'i zapisz drugą linię kodu. – ToniTornado