Witam!
Mam problem z użyciem parametru :through metody has_many - może drobny przykład:
[code]class Person < AR
has_one :shelf
has_many :books, :through => :shelf
end
class Shelf < AR
belongs_to :person
has_many :books
end
class Book < AR
belongs_to :shelf
end[/code]
Teraz efekty:
p = Person.find :first
p.shelf # => wszystko działa OK
p.shelf.books == p.books # => true
book = p.books.first
book.shelf # => wszystko działa OK
book.person # => ERROR :/
Próbowałem dopisać do klasy Book “belongs_to :person”, ale wtedy zamiast errora dostaje nil. Natomiast belongs_to nie przyjmuje opcji :through
Mógłbym dopisać
class Book
def person
shelf.person
end
end
ale musi być inne rozwiązanie, które pozwoliłoby pobierać obiekt Person przy Plant.find :all, :include => :person
Jakieś pomysły?